* [LTP] [PATCH] performing test on loop device if noatime or relatime specified @ 2015-05-04 6:34 Han Pingtian 2015-05-04 11:53 ` Cyril Hrubis 0 siblings, 1 reply; 12+ messages in thread From: Han Pingtian @ 2015-05-04 6:34 UTC (permalink / raw) To: ltp-list Hi, The noatime test of open12 fails on a distribution which doesn't use tmpfs for /tmp. I have composed a patch to fix it. Please have a look, thanks. After 2.6.30, kernel specifies relatime option by default. If so then try to mount a loop device using strictatime option to do the noatime test. Signed-off-by: Han Pingtian <hanpt@linux.vnet.ibm.com> --- testcases/kernel/syscalls/open/open12.c | 41 +++++++++++++++++++++++++++++---- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/testcases/kernel/syscalls/open/open12.c b/testcases/kernel/syscalls/open/open12.c index 54ddfe0..f9be35b 100644 --- a/testcases/kernel/syscalls/open/open12.c +++ b/testcases/kernel/syscalls/open/open12.c @@ -24,6 +24,7 @@ #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> +#include <sys/mount.h> #include <unistd.h> #include <mntent.h> #include <errno.h> @@ -34,8 +35,16 @@ #define TEST_FILE "test_file" #define LARGE_FILE "large_file" +#define DIR_MODE 0755 +#define MNTPOINT "mntpoint" + char *TCID = "open12"; +static const char *device; +static const char *fs_type; +static unsigned int mount_flag = 0; +static unsigned int cd_flag = 0; + static void setup(void); static void cleanup(void); static void test_append(void); @@ -114,10 +123,21 @@ static void test_noatime(void) } if (tst_path_has_mnt_flags(cleanup, NULL, flags)) { - tst_resm(TCONF, - "test O_NOATIME flag for open needs filesystems which " - "is mounted without noatime and relatime"); - return; + + fs_type = tst_dev_fs_type(); + device = tst_acquire_device(cleanup); + + if (!device) + tst_brkm(TCONF, cleanup, "Failed to obtain block device"); + + tst_mkfs(cleanup, device, fs_type, NULL); + + SAFE_MKDIR(cleanup, MNTPOINT, DIR_MODE); + SAFE_MOUNT(cleanup, device, MNTPOINT, fs_type, MS_STRICTATIME, NULL); + mount_flag = 1; + SAFE_FILE_PRINTF(cleanup, MNTPOINT"/"TEST_FILE, TEST_FILE); + SAFE_CHDIR(cleanup, MNTPOINT); + cd_flag = 1; } SAFE_STAT(cleanup, TEST_FILE, &old_stat); @@ -221,5 +241,18 @@ static void test_largefile(void) static void cleanup(void) { + if (cd_flag) { + char *tmp_dir = tst_get_tmpdir(); + SAFE_CHDIR(NULL, tmp_dir); + free(tmp_dir); + } + + if (mount_flag && tst_umount(MNTPOINT) == -1) { + tst_brkm(TBROK | TERRNO, NULL, "umount(2) failed"); + } + + if (device) + tst_release_device(NULL, device); + tst_rmdir(); } -- 1.9.3 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-04 6:34 [LTP] [PATCH] performing test on loop device if noatime or relatime specified Han Pingtian @ 2015-05-04 11:53 ` Cyril Hrubis 2015-05-06 13:55 ` Han Pingtian 0 siblings, 1 reply; 12+ messages in thread From: Cyril Hrubis @ 2015-05-04 11:53 UTC (permalink / raw) To: ltp-list Hi! > diff --git a/testcases/kernel/syscalls/open/open12.c b/testcases/kernel/syscalls/open/open12.c > index 54ddfe0..f9be35b 100644 > --- a/testcases/kernel/syscalls/open/open12.c > +++ b/testcases/kernel/syscalls/open/open12.c > @@ -24,6 +24,7 @@ > #include <stdio.h> > #include <sys/types.h> > #include <sys/wait.h> > +#include <sys/mount.h> > #include <unistd.h> > #include <mntent.h> > #include <errno.h> > @@ -34,8 +35,16 @@ > #define TEST_FILE "test_file" > #define LARGE_FILE "large_file" > > +#define DIR_MODE 0755 > +#define MNTPOINT "mntpoint" > + > char *TCID = "open12"; > > +static const char *device; > +static const char *fs_type; > +static unsigned int mount_flag = 0; > +static unsigned int cd_flag = 0; > + > static void setup(void); > static void cleanup(void); > static void test_append(void); > @@ -114,10 +123,21 @@ static void test_noatime(void) > } > > if (tst_path_has_mnt_flags(cleanup, NULL, flags)) { > - tst_resm(TCONF, > - "test O_NOATIME flag for open needs filesystems which " > - "is mounted without noatime and relatime"); > - return; > + > + fs_type = tst_dev_fs_type(); > + device = tst_acquire_device(cleanup); > + > + if (!device) > + tst_brkm(TCONF, cleanup, "Failed to obtain block device"); > + > + tst_mkfs(cleanup, device, fs_type, NULL); > + > + SAFE_MKDIR(cleanup, MNTPOINT, DIR_MODE); What about creating a test directory in test temporary directory unconditionally and change the TEST_FILE to point to a file in it? That way we can just mount the loop device over the directory if needed and avoid the ugly chdir here and in the cleanup. > + SAFE_MOUNT(cleanup, device, MNTPOINT, fs_type, MS_STRICTATIME, NULL); > + mount_flag = 1; > + SAFE_FILE_PRINTF(cleanup, MNTPOINT"/"TEST_FILE, TEST_FILE); > + SAFE_CHDIR(cleanup, MNTPOINT); > + cd_flag = 1; > } > > SAFE_STAT(cleanup, TEST_FILE, &old_stat); > @@ -221,5 +241,18 @@ static void test_largefile(void) > > static void cleanup(void) > { > + if (cd_flag) { > + char *tmp_dir = tst_get_tmpdir(); > + SAFE_CHDIR(NULL, tmp_dir); > + free(tmp_dir); > + } > + > + if (mount_flag && tst_umount(MNTPOINT) == -1) { > + tst_brkm(TBROK | TERRNO, NULL, "umount(2) failed"); This should rather be tst_resm(TWARN | TERRNO, ...) so that we at least attempt to continue the cleanup. > + } > + > + if (device) > + tst_release_device(NULL, device); > + > tst_rmdir(); -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-04 11:53 ` Cyril Hrubis @ 2015-05-06 13:55 ` Han Pingtian 2015-05-07 12:48 ` Cyril Hrubis 2015-05-12 12:50 ` Cui Bixuan 0 siblings, 2 replies; 12+ messages in thread From: Han Pingtian @ 2015-05-06 13:55 UTC (permalink / raw) To: ltp-list On Mon, May 04, 2015 at 01:53:26PM +0200, Cyril Hrubis wrote: > What about creating a test directory in test temporary directory > unconditionally and change the TEST_FILE to point to a file in it? That > way we can just mount the loop device over the directory if needed and > avoid the ugly chdir here and in the cleanup. > > This should rather be tst_resm(TWARN | TERRNO, ...) so that we at least > attempt to continue the cleanup. > Thanks. I have revised the patch according to your suggestions. From 1cdaff6a5658a544f0968ec3e336ffff191ebc30 Mon Sep 17 00:00:00 2001 From: Han Pingtian <hanpt@linux.vnet.ibm.com> Date: Mon, 4 May 2015 13:44:51 +0800 Subject: [PATCH] performing test on loop device if noatime or relatime specified After 2.6.30, kernel specifies relatime option by default. If so then try to mount a loop device using strictatime option to do the noatime test. Signed-off-by: Han Pingtian <hanpt@linux.vnet.ibm.com> --- testcases/kernel/syscalls/open/open12.c | 40 ++++++++++++++++++++++++++++----- 1 file changed, 35 insertions(+), 5 deletions(-) diff --git a/testcases/kernel/syscalls/open/open12.c b/testcases/kernel/syscalls/open/open12.c index 54ddfe0..fdc81bb 100644 --- a/testcases/kernel/syscalls/open/open12.c +++ b/testcases/kernel/syscalls/open/open12.c @@ -24,6 +24,7 @@ #include <stdio.h> #include <sys/types.h> #include <sys/wait.h> +#include <sys/mount.h> #include <unistd.h> #include <mntent.h> #include <errno.h> @@ -31,11 +32,17 @@ #include "safe_macros.h" #include "lapi/fcntl.h" -#define TEST_FILE "test_file" +#define MNTPOINT "mntpoint" +#define TEST_FILE MNTPOINT"/test_file" #define LARGE_FILE "large_file" +#define DIR_MODE 0755 + char *TCID = "open12"; +static const char *device; +static unsigned int mount_flag = 0; + static void setup(void); static void cleanup(void); static void test_append(void); @@ -75,6 +82,8 @@ static void setup(void) tst_tmpdir(); + SAFE_MKDIR(cleanup, MNTPOINT, DIR_MODE); + SAFE_FILE_PRINTF(cleanup, TEST_FILE, TEST_FILE); } @@ -114,10 +123,18 @@ static void test_noatime(void) } if (tst_path_has_mnt_flags(cleanup, NULL, flags)) { - tst_resm(TCONF, - "test O_NOATIME flag for open needs filesystems which " - "is mounted without noatime and relatime"); - return; + + const char *fs_type = tst_dev_fs_type(); + device = tst_acquire_device(cleanup); + + if (!device) + tst_brkm(TCONF, cleanup, "Failed to obtain block device"); + + tst_mkfs(cleanup, device, fs_type, NULL); + + SAFE_MOUNT(cleanup, device, MNTPOINT, fs_type, MS_STRICTATIME, NULL); + mount_flag = 1; + SAFE_FILE_PRINTF(cleanup, TEST_FILE, TEST_FILE); } SAFE_STAT(cleanup, TEST_FILE, &old_stat); @@ -138,6 +155,13 @@ static void test_noatime(void) tst_resm(TPASS, "test O_NOATIME for open success"); else tst_resm(TFAIL, "test O_NOATIME for open failed"); + + if (mount_flag) { + mount_flag = 0; + + if (tst_umount(MNTPOINT) == -1) + tst_brkm(TBROK | TERRNO, cleanup, "umount(2) failed"); + } } static void test_cloexec(void) @@ -221,5 +245,11 @@ static void test_largefile(void) static void cleanup(void) { + if (mount_flag && tst_umount(MNTPOINT) == -1) + tst_brkm(TWARN | TERRNO, NULL, "umount(2) failed"); + + if (device) + tst_release_device(NULL, device); + tst_rmdir(); } -- 1.9.3 ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply related [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-06 13:55 ` Han Pingtian @ 2015-05-07 12:48 ` Cyril Hrubis 2015-05-08 1:41 ` Han Pingtian 2015-05-12 12:50 ` Cui Bixuan 1 sibling, 1 reply; 12+ messages in thread From: Cyril Hrubis @ 2015-05-07 12:48 UTC (permalink / raw) To: ltp-list Hi! > Thanks. I have revised the patch according to your suggestions. Pushed with following modifications, thanks. * The device preparation must be done only once in setup() otherwise the testcase fails with -i 2 * The testcase was previously working fine when executed as non-root user, I've made some changes so that this continues to work as well -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-07 12:48 ` Cyril Hrubis @ 2015-05-08 1:41 ` Han Pingtian 0 siblings, 0 replies; 12+ messages in thread From: Han Pingtian @ 2015-05-08 1:41 UTC (permalink / raw) To: ltp-list On Thu, May 07, 2015 at 02:48:31PM +0200, Cyril Hrubis wrote: > Hi! > > Thanks. I have revised the patch according to your suggestions. > > Pushed with following modifications, thanks. > > * The device preparation must be done only once in setup() > otherwise the testcase fails with -i 2 > > * The testcase was previously working fine when executed as > non-root user, I've made some changes so that this continues > to work as well > Thanks! ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-06 13:55 ` Han Pingtian 2015-05-07 12:48 ` Cyril Hrubis @ 2015-05-12 12:50 ` Cui Bixuan 2015-05-12 13:48 ` Cyril Hrubis 1 sibling, 1 reply; 12+ messages in thread From: Cui Bixuan @ 2015-05-12 12:50 UTC (permalink / raw) To: ltp-list, hanpt > + > + SAFE_MOUNT(cleanup, device, MNTPOINT, fs_type, MS_STRICTATIME, NULL); > + mount_flag = 1; > + SAFE_FILE_PRINTF(cleanup, TEST_FILE, TEST_FILE); > } Hi, I run the LTP today: .configure make then compile error: gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W -g -O2 -Wold-style-definition -D_FORTIFY_SOURCE=2 -I/home/cuibixuan/home/git/ltp/ltp/testcases/kernel/include -I../../../../include -I../../../../include -L../../../../lib open12.c -lltp -o open12 open12.c: In function ‘setup’: open12.c:103: error: ‘MS_STRICTATIME’ undeclared (first use in this function) open12.c:103: error: (Each undeclared identifier is reported only once open12.c:103: error: for each function it appears in.) make[4]: *** [open12] Error 1 make[4]: Leaving directory `/home/cuibixuan/home/git/ltp/ltp/testcases/kernel/syscalls/open' Do 'man mount' and can not find 'MS_STRICTATIME'. I get from man-pages of linux: MS_STRICTATIME (since Linux 2.6.30) Always update the last access time (atime) when files on this filesystem are accessed. (This was the default behavior before Linux 2.6.30.) Specifying this flag overrides the effect of setting the MS_NOATIME and MS_RELATIME flags. If not support 'MS_STRICTATIME'? My system is SUSE11-SP2, linux 3.0.13, and gcc version 4.3.4. ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified 2015-05-12 12:50 ` Cui Bixuan @ 2015-05-12 13:48 ` Cyril Hrubis [not found] ` <55530639.2070806@huawei.com> [not found] ` <55530742.3030707@huawei.com> 0 siblings, 2 replies; 12+ messages in thread From: Cyril Hrubis @ 2015-05-12 13:48 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list Hi! > then compile error: > gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W -g -O2 -Wold-style-definition -D_FORTIFY_SOURCE=2 -I/home/cuibixuan/home/git/ltp/ltp/testcases/kernel/include -I../../../../include -I../../../../include -L../../../../lib open12.c -lltp -o open12 > open12.c: In function ?setup?: > open12.c:103: error: ?MS_STRICTATIME? undeclared (first use in this function) > open12.c:103: error: (Each undeclared identifier is reported only once > open12.c:103: error: for each function it appears in.) > make[4]: *** [open12] Error 1 > make[4]: Leaving directory `/home/cuibixuan/home/git/ltp/ltp/testcases/kernel/syscalls/open' > > Do 'man mount' and can not find 'MS_STRICTATIME'. > > I get from man-pages of linux: > MS_STRICTATIME (since Linux 2.6.30) > Always update the last access time (atime) when files on this > filesystem are accessed. (This was the default behavior > before Linux 2.6.30.) Specifying this flag overrides the > effect of setting the MS_NOATIME and MS_RELATIME flags. > > If not support 'MS_STRICTATIME'? > My system is SUSE11-SP2, linux 3.0.13, and gcc version 4.3.4. Solution to compilation failures is to add fallback definition into ltp/include/lapi/mount.h (have a look at ltp/include/lapi/fcntl.h) and include it in the testcase source. That would make the testcase compile, but it may still fail when executed. To fix the execution we would need to do a runtime check if the kernel supports this flag, I guess that we would need to pass it only on newer kernels (we use tst_kvercmp() for that). -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <55530639.2070806@huawei.com>]
* Re: [LTP] [PATCH] performing test on loop device if noatime or relatime specified [not found] ` <55530639.2070806@huawei.com> @ 2015-05-13 8:14 ` Cyril Hrubis [not found] ` <55559C6A.9090001@huawei.com> 0 siblings, 1 reply; 12+ messages in thread From: Cyril Hrubis @ 2015-05-13 8:14 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list, zhuyanpeng, zhanyongming Hi! > >> then compile error: > >> gcc -g -O2 -g -O2 -fno-strict-aliasing -pipe -Wall -W -g -O2 -Wold-style-definition -D_FORTIFY_SOURCE=2 -I/home/cuibixuan/home/git/ltp/ltp/testcases/kernel/include -I../../../../include -I../../../../include -L../../../../lib open12.c -lltp -o open12 > >> open12.c: In function ?setup?: > >> open12.c:103: error: ?MS_STRICTATIME? undeclared (first use in this function) > >> open12.c:103: error: (Each undeclared identifier is reported only once > >> open12.c:103: error: for each function it appears in.) > >> make[4]: *** [open12] Error 1 > > Compile error 'MS_STRICTATIME undeclared' because my glibc version(2.11) is > too old. I upgrade it then compile succeed. That is not a solution. The solution is to create a fallback declaration in LTP as I said. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <55559C6A.9090001@huawei.com>]
* Re: [LTP] [PATCH] open/open12: compile error [not found] ` <55559C6A.9090001@huawei.com> @ 2015-05-18 11:56 ` Cyril Hrubis 0 siblings, 0 replies; 12+ messages in thread From: Cyril Hrubis @ 2015-05-18 11:56 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list, zhuyanpeng, zhanyongming Hi! > The 'MS_STRICTATIME' flag is not defined in old kernel.Now add ^ libc The system headers are supplied by glibc. > it into include/lapi/mount.h and include it in testcase source. > > Signed-off-by: Cui Bixuan <cuibixuan@huawei.com> > --- > Cat /usr/include/x86_64-linux-gnu/sys/mount.h in Ubuntu14 and find > 'MS_STRICTATIME' flag: > MS_STRICTATIME = 1 << 24, /* Always perform atime updates. */ > > So add it into include/lapi/mount.h > And thank you for your advice,My idea is wrong. > > include/lapi/mount.h | 26 ++++++++++++++++++++++++++ > testcases/kernel/syscalls/open/open12.c | 1 + > 2 files changed, 27 insertions(+), 0 deletions(-) > create mode 100644 include/lapi/mount.h > > diff --git a/include/lapi/mount.h b/include/lapi/mount.h > new file mode 100644 > index 0000000..c71a638 > --- /dev/null > +++ b/include/lapi/mount.h > @@ -0,0 +1,26 @@ > +/* > + * Copyright (c) 2014 Cyril Hrubis <chrubis@suse.cz> ^ Should be your name and current year. :) > + * This program is free software; you can redistribute it and/or > + * modify it under the terms of the GNU General Public License as > + * published by the Free Software Foundation; either version 2 of > + * the License, or (at your option) any later version. > + * > + * This program is distributed in the hope that it would be useful, > + * but WITHOUT ANY WARRANTY; without even the implied warranty of > + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > + * GNU General Public License for more details. > + * > + * You should have received a copy of the GNU General Public License > + * along with this program; if not, write the Free Software Foundation, > + * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA > + */ > + > +#ifndef __MOUNT_H__ > +#define __MOUNT_H__ > + > +#ifndef MS_STRICTATIME > +#define MS_STRICTATIME 1 << 24 > +#endif > + > +#endif /* __MOUNT_H__ */ > diff --git a/testcases/kernel/syscalls/open/open12.c b/testcases/kernel/syscalls/open/open12.c > index e665368..af3fab3 100644 > --- a/testcases/kernel/syscalls/open/open12.c > +++ b/testcases/kernel/syscalls/open/open12.c > @@ -31,6 +31,7 @@ > #include "test.h" > #include "safe_macros.h" > #include "lapi/fcntl.h" > +#include "lapi/mount.h" > > #define MNTPOINT "mntpoint" > #define TEST_FILE MNTPOINT"/test_file" > -- > 1.6.0.2 -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <55530742.3030707@huawei.com>]
* Re: [LTP] [PATCH] open/open12: Check the kernel version for 'MS_STRICTATIME' [not found] ` <55530742.3030707@huawei.com> @ 2015-05-13 9:03 ` Cyril Hrubis [not found] ` <5555A746.4080006@huawei.com> 0 siblings, 1 reply; 12+ messages in thread From: Cyril Hrubis @ 2015-05-13 9:03 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list, zhuyanpeng, zhanyongming Hi! > Call tst_kvercmp() to check the kernel version(newer than 2.6.30) before > calling SAFE_MOUNT( MS_STRICTATIME ). > > Signed-off-by: Cui Bixuan <cuibixuan@huawei.com> > --- > testcases/kernel/syscalls/open/open12.c | 7 +++++++ > 1 files changed, 7 insertions(+), 0 deletions(-) > > diff --git a/testcases/kernel/syscalls/open/open12.c b/testcases/kernel/syscalls/open/open12.c > index e665368..9d315fb 100644 > --- a/testcases/kernel/syscalls/open/open12.c > +++ b/testcases/kernel/syscalls/open/open12.c > @@ -80,6 +80,13 @@ static void setup(void) > > TEST_PAUSE; > > + if ((tst_kvercmp(2, 6, 30)) < 0) { > + tst_resm(TCONF, > + "MS_STRICTATIME flags for mount(2) needs kernel 2.6.30 " > + "or higher"); > + return; > + } This is not right place to do it. The flag is used only when we need to mount the loop device so the check should be done only if we are about to acquire the device. And we should set the skip_noatime flag there as well. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <5555A746.4080006@huawei.com>]
* Re: [LTP] [PATCH] open/open12: Check the kernel version for 'MS_STRICTATIME' [not found] ` <5555A746.4080006@huawei.com> @ 2015-05-18 11:52 ` Cyril Hrubis [not found] ` <5559DDD9.4090807@huawei.com> 0 siblings, 1 reply; 12+ messages in thread From: Cyril Hrubis @ 2015-05-18 11:52 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list, zhuyanpeng, zhanyongming Hi! > > This is not right place to do it. The flag is used only when we need to > > mount the loop device so the check should be done only if we are about > > to acquire the device. And we should set the skip_noatime flag there as > > well. > > > Your opinion is to add the check after `if (tst_path_has_mnt_flags(cleanup, NULL, mount_flags))` > and then set the skip_noatime flag to 1 ? Yes, because there is no need to skip the test if we are not even going to mount the loop device. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <5559DDD9.4090807@huawei.com>]
* Re: [LTP] [PATCH 2/2 v2] open/open12: Check the kernel version for 'MS_STRICTATIME' [not found] ` <5559DDD9.4090807@huawei.com> @ 2015-05-27 14:20 ` Cyril Hrubis 0 siblings, 0 replies; 12+ messages in thread From: Cyril Hrubis @ 2015-05-27 14:20 UTC (permalink / raw) To: Cui Bixuan; +Cc: ltp-list, zhuyanpeng, zhanyongming Hi! Both patches pushed with a minor commit message formatting change, thanks. -- Cyril Hrubis chrubis@suse.cz ------------------------------------------------------------------------------ _______________________________________________ Ltp-list mailing list Ltp-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ltp-list ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2015-05-27 14:21 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-05-04 6:34 [LTP] [PATCH] performing test on loop device if noatime or relatime specified Han Pingtian
2015-05-04 11:53 ` Cyril Hrubis
2015-05-06 13:55 ` Han Pingtian
2015-05-07 12:48 ` Cyril Hrubis
2015-05-08 1:41 ` Han Pingtian
2015-05-12 12:50 ` Cui Bixuan
2015-05-12 13:48 ` Cyril Hrubis
[not found] ` <55530639.2070806@huawei.com>
2015-05-13 8:14 ` Cyril Hrubis
[not found] ` <55559C6A.9090001@huawei.com>
2015-05-18 11:56 ` [LTP] [PATCH] open/open12: compile error Cyril Hrubis
[not found] ` <55530742.3030707@huawei.com>
2015-05-13 9:03 ` [LTP] [PATCH] open/open12: Check the kernel version for 'MS_STRICTATIME' Cyril Hrubis
[not found] ` <5555A746.4080006@huawei.com>
2015-05-18 11:52 ` Cyril Hrubis
[not found] ` <5559DDD9.4090807@huawei.com>
2015-05-27 14:20 ` [LTP] [PATCH 2/2 v2] " Cyril Hrubis
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox