public inbox for ltp@lists.linux.it
 help / color / mirror / Atom feed
* [LTP]  [PATCH 1/2] mount/mount03.c: clean up
@ 2013-07-02  6:21 DAN LI
  2013-07-02  6:23 ` [LTP] [PATCH 2/2] mount/mount03.c: Test feature MS_NOATIME of mount(2) DAN LI
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: DAN LI @ 2013-07-02  6:21 UTC (permalink / raw)
  To: LTP list


Clean up mount03.c:
    xxx func() -> xxx func(void)

    clean up setup()


Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
 testcases/kernel/syscalls/mount/mount03.c | 47 ++++++++++---------------------
 1 file changed, 15 insertions(+), 32 deletions(-)

diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
index b1aa71f..8b2d3e4 100644
--- a/testcases/kernel/syscalls/mount/mount03.c
+++ b/testcases/kernel/syscalls/mount/mount03.c
@@ -85,6 +85,7 @@ static int setup_uid(void);
 char *TCID = "mount03";
 int TST_TOTAL = 6;

+#define EXEC_COMMAND	"cp"
 #define DEFAULT_FSTYPE	"ext2"
 #define TEMP_FILE	"temp_file"
 #define FILE_MODE	(S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
@@ -106,7 +107,6 @@ static char read_buffer[BUFSIZ];
 static char path_name[PATH_MAX];
 static char testhome_path[PATH_MAX];
 static char file[PATH_MAX];
-static char *cmd = "cp";

 long rwflags[] = {
 	MS_RDONLY,
@@ -375,7 +375,7 @@ int test_rwflag(int i, int cnt)
 }

 /* setup_uid() - performs setup for NOUID test */
-int setup_uid()
+int setup_uid(void)
 {
 	int pid, status;
 	char command[PATH_MAX];
@@ -387,7 +387,8 @@ int setup_uid()
 		return 1;
 	case 0:
 		/* Put command into string */
-		sprintf(command, "%s %s %s", cmd, testhome_path, path_name);
+		sprintf(command, "%s %s %s",
+			EXEC_COMMAND, testhome_path, path_name);

 		/* Run command to cp file to right spot */
 		if (system(command) == 0)
@@ -410,25 +411,17 @@ int setup_uid()
 	}
 }

-void setup()
+void setup(void)
 {
-	int fd;
 	char path[PATH_MAX];
-	char *test_home;
 	struct stat setuid_test_stat;

 	tst_sig(FORK, DEF_HANDLER, cleanup);

-	/* Check whether we are root */
-	if (geteuid() != 0) {
-		free(fs_type);
-		tst_brkm(TBROK, NULL, "Test must be run as root");
-	}
+	tst_require_root(NULL);

 	tst_tmpdir();

-	test_home = get_current_dir_name();
-
 	sprintf(mntpoint, "mnt_%d", getpid());

 	if (mkdir(mntpoint, DIR_MODE))
@@ -444,38 +437,28 @@ void setup()
 			 path_name, DIR_MODE);

 	snprintf(file, PATH_MAX, "%s/setuid_test", path_name);
-	fd = open(file, O_CREAT | O_TRUNC, S_IRWXU);
-	if (fd == -1)
+	if (open(file, O_CREAT | O_TRUNC, S_IRWXU) == -1)
 		tst_brkm(TBROK, cleanup, "open file failed");
-	close(fd);

-	if (stat(file, &setuid_test_stat) < 0) {
+	if (stat(file, &setuid_test_stat) < 0)
 		tst_brkm(TBROK, cleanup, "stat for setuid_test failed");
-	} else {
-		if ((setuid_test_stat.st_uid || setuid_test_stat.st_gid) &&
-		    chown(file, 0, 0) < 0)
-			tst_brkm(TBROK, cleanup,
-				 "chown for setuid_test failed");
-
-		if (setuid_test_stat.st_mode != SUID_MODE &&
-		    chmod(file, SUID_MODE) < 0)
-			tst_brkm(TBROK, cleanup,
-				 "setuid for setuid_test failed");
-	}
+
+	if (setuid_test_stat.st_mode != SUID_MODE && chmod(file, SUID_MODE) < 0)
+		tst_brkm(TBROK, cleanup,
+			 "setuid for setuid_test failed");

 	/*
 	 * under temporary directory
 	 */
+	strcpy(testhome_path, file);
 	strncpy(path, path_name, PATH_MAX);
 	snprintf(path_name, PATH_MAX, "%s/%s/", path, mntpoint);
-	strcpy(testhome_path, test_home);
-	strcat(testhome_path, "/setuid_test");

 	TEST_PAUSE;

 }

-void cleanup()
+void cleanup(void)
 {
 	free(fs_type);

@@ -487,7 +470,7 @@ void cleanup()
 /*
  * issue a help message
  */
-void help()
+void help(void)
 {
 	printf("-T type	  : specifies the type of filesystem to be mounted."
 	       " Default ext2.\n");
-- 
1.8.1

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 2/2] mount/mount03.c: Test feature MS_NOATIME of mount(2)
  2013-07-02  6:21 [LTP] [PATCH 1/2] mount/mount03.c: clean up DAN LI
@ 2013-07-02  6:23 ` DAN LI
  2013-07-02  6:35 ` [LTP] [PATCH 2/2 v2] " DAN LI
  2013-07-09 14:42 ` [LTP] [PATCH 1/2] mount/mount03.c: clean up chrubis
  2 siblings, 0 replies; 6+ messages in thread
From: DAN LI @ 2013-07-02  6:23 UTC (permalink / raw)
  To: LTP list


Additional test for features MS_NOATIME.

Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
 testcases/kernel/syscalls/mount/mount03.c | 46 +++++++++++++++++++++++++++++--
 1 file changed, 44 insertions(+), 2 deletions(-)

diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
index 8b2d3e4..cb99887 100644
--- a/testcases/kernel/syscalls/mount/mount03.c
+++ b/testcases/kernel/syscalls/mount/mount03.c
@@ -20,7 +20,7 @@
  *
  *    TEST TITLE	: Test for checking mount(2) flags
  *
- *    TEST CASE TOTAL	: 6
+ *    TEST CASE TOTAL	: 7
  *
  *    AUTHOR		: Nirmala Devi Dhanasekar <nirmala.devi@wipro.com>
  *
@@ -35,6 +35,7 @@
  *	4) MS_SYNCHRONOUS - writes are synced at once.
  *	5) MS_REMOUNT - alter flags of a mounted FS.
  *	6) MS_NOSUID - ignore suid and sgid bits.
+ *	7) MS_NOATIME - do not update access times.
  *
  *	Setup:
  *	  Setup signal handling.
@@ -83,7 +84,7 @@ static int test_rwflag(int, int);
 static int setup_uid(void);

 char *TCID = "mount03";
-int TST_TOTAL = 6;
+int TST_TOTAL = 7;

 #define EXEC_COMMAND	"cp"
 #define DEFAULT_FSTYPE	"ext2"
@@ -115,6 +116,7 @@ long rwflags[] = {
 	MS_SYNCHRONOUS,
 	MS_RDONLY,
 	MS_NOSUID,
+	MS_NOATIME,
 };

 static option_t options[] = {
@@ -208,6 +210,8 @@ int test_rwflag(int i, int cnt)
 {
 	int ret, fd, pid, status;
 	char nobody_uid[] = "nobody";
+	time_t atime;
+	struct stat file_stat;
 	struct passwd *ltpuser;

 	switch (i) {
@@ -370,6 +374,44 @@ int test_rwflag(int i, int cnt)
 					return 1;
 			}
 		}
+	case 6:
+		/* Validate MS_NOATIME flag of mount call */
+
+		snprintf(file, PATH_MAX, "%satime", path_name);
+		fd = open(file, O_CREAT | O_RDWR, S_IRWXU);
+		if (fd == -1) {
+			tst_resm(TWARN | TERRNO, "opening %s failed", file);
+			return 1;
+		}
+
+		if (write(fd, "TEST_MS_NOATIME", 15) != 15) {
+			tst_resm(TWARN | TERRNO, "write %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #1", file);
+			return 1;
+		}
+
+		atime = file_stat.st_atime;
+
+		if (read(fd, NULL, 20) == -1) {
+			tst_resm(TWARN | TERRNO, "read %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #2", file);
+			return 1;
+		}
+		close(fd);
+
+		if (file_stat.st_atime != atime) {
+			tst_resm(TWARN, "access time is updated");
+			return 1;
+		}
+		return 0;
 	}
 	return 0;
 }
-- 
1.8.1

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 2/2 v2] mount/mount03.c: Test feature MS_NOATIME of mount(2)
  2013-07-02  6:21 [LTP] [PATCH 1/2] mount/mount03.c: clean up DAN LI
  2013-07-02  6:23 ` [LTP] [PATCH 2/2] mount/mount03.c: Test feature MS_NOATIME of mount(2) DAN LI
@ 2013-07-02  6:35 ` DAN LI
  2013-07-09 14:57   ` chrubis
  2013-07-09 14:42 ` [LTP] [PATCH 1/2] mount/mount03.c: clean up chrubis
  2 siblings, 1 reply; 6+ messages in thread
From: DAN LI @ 2013-07-02  6:35 UTC (permalink / raw)
  To: LTP list


Additional test for features MS_NOATIME.

Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
---
 testcases/kernel/syscalls/mount/mount03.c | 48 +++++++++++++++++++++++++++++--
 1 file changed, 46 insertions(+), 2 deletions(-)

diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
index 8b2d3e4..6974107 100644
--- a/testcases/kernel/syscalls/mount/mount03.c
+++ b/testcases/kernel/syscalls/mount/mount03.c
@@ -20,7 +20,7 @@
  *
  *    TEST TITLE	: Test for checking mount(2) flags
  *
- *    TEST CASE TOTAL	: 6
+ *    TEST CASE TOTAL	: 7
  *
  *    AUTHOR		: Nirmala Devi Dhanasekar <nirmala.devi@wipro.com>
  *
@@ -35,6 +35,7 @@
  *	4) MS_SYNCHRONOUS - writes are synced at once.
  *	5) MS_REMOUNT - alter flags of a mounted FS.
  *	6) MS_NOSUID - ignore suid and sgid bits.
+ *	7) MS_NOATIME - do not update access times.
  *
  *	Setup:
  *	  Setup signal handling.
@@ -83,7 +84,7 @@ static int test_rwflag(int, int);
 static int setup_uid(void);

 char *TCID = "mount03";
-int TST_TOTAL = 6;
+int TST_TOTAL = 7;

 #define EXEC_COMMAND	"cp"
 #define DEFAULT_FSTYPE	"ext2"
@@ -115,6 +116,7 @@ long rwflags[] = {
 	MS_SYNCHRONOUS,
 	MS_RDONLY,
 	MS_NOSUID,
+	MS_NOATIME,
 };

 static option_t options[] = {
@@ -208,6 +210,8 @@ int test_rwflag(int i, int cnt)
 {
 	int ret, fd, pid, status;
 	char nobody_uid[] = "nobody";
+	time_t atime;
+	struct stat file_stat;
 	struct passwd *ltpuser;

 	switch (i) {
@@ -370,6 +374,46 @@ int test_rwflag(int i, int cnt)
 					return 1;
 			}
 		}
+	case 6:
+		/* Validate MS_NOATIME flag of mount call */
+
+		snprintf(file, PATH_MAX, "%satime", path_name);
+		fd = open(file, O_CREAT | O_RDWR, S_IRWXU);
+		if (fd == -1) {
+			tst_resm(TWARN | TERRNO, "opening %s failed", file);
+			return 1;
+		}
+
+		if (write(fd, "TEST_MS_NOATIME", 15) != 15) {
+			tst_resm(TWARN | TERRNO, "write %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #1", file);
+			return 1;
+		}
+
+		atime = file_stat.st_atime;
+
+		sleep(1);
+
+		if (read(fd, NULL, 20) == -1) {
+			tst_resm(TWARN | TERRNO, "read %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #2", file);
+			return 1;
+		}
+		close(fd);
+
+		if (file_stat.st_atime != atime) {
+			tst_resm(TWARN, "access time is updated");
+			return 1;
+		}
+		return 0;
 	}
 	return 0;
 }
-- 
1.8.1



------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [LTP] [PATCH 2/2 v2] mount/mount03.c: Test feature MS_NOATIME of mount(2)
  2013-07-08  5:17 [LTP] [PATCH 1/2 v2] " DAN LI
@ 2013-07-08  5:18 ` DAN LI
  0 siblings, 0 replies; 6+ messages in thread
From: DAN LI @ 2013-07-08  5:18 UTC (permalink / raw)
  To: LTP list


Additional test for feature MS_NOATIME.

---
 testcases/kernel/syscalls/mount/mount03.c | 51 ++++++++++++++++++++++++++++---
 1 file changed, 47 insertions(+), 4 deletions(-)

diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
index a4c065a..d3f0733 100644
--- a/testcases/kernel/syscalls/mount/mount03.c
+++ b/testcases/kernel/syscalls/mount/mount03.c
@@ -27,6 +27,7 @@
  *	4) MS_SYNCHRONOUS - writes are synced at once.
  *	5) MS_REMOUNT - alter flags of a mounted FS.
  *	6) MS_NOSUID - ignore suid and sgid bits.
+ *	7) MS_NOATIME - do not update access times.
  */

 #ifndef _GNU_SOURCE
@@ -53,7 +54,7 @@ static void cleanup(void);
 static int test_rwflag(int, int);

 char *TCID = "mount03";
-int TST_TOTAL = 6;
+int TST_TOTAL = 7;

 #define DEFAULT_FSTYPE	"ext2"
 #define TEMP_FILE	"temp_file"
@@ -83,6 +84,7 @@ long rwflags[] = {
 	MS_SYNCHRONOUS,
 	MS_RDONLY,
 	MS_NOSUID,
+	MS_NOATIME,
 };

 static option_t options[] = {
@@ -161,8 +163,9 @@ int test_rwflag(int i, int cnt)
 {
 	int ret, fd, pid, status;
 	char nobody_uid[] = "nobody";
+	time_t atime;
 	struct passwd *ltpuser;
-	struct stat setuid_test_stat;
+	struct stat file_stat;

 	switch (i) {
 	case 0:
@@ -294,10 +297,10 @@ int test_rwflag(int i, int cnt)
 		snprintf(file, PATH_MAX, "%ssetuid_test", path_name);
 		SAFE_FILE_PRINTF(cleanup, file, "TEST FILE");

-		if (stat(file, &setuid_test_stat) < 0)
+		if (stat(file, &file_stat) < 0)
 			tst_brkm(TBROK, cleanup, "stat for setuid_test failed");

-		if (setuid_test_stat.st_mode != SUID_MODE &&
+		if (file_stat.st_mode != SUID_MODE &&
 		    chmod(file, SUID_MODE) < 0)
 			tst_brkm(TBROK, cleanup,
 				 "setuid for setuid_test failed");
@@ -326,6 +329,46 @@ int test_rwflag(int i, int cnt)
 					return 1;
 			}
 		}
+	case 6:
+		/* Validate MS_NOATIME flag of mount call */
+
+		snprintf(file, PATH_MAX, "%satime", path_name);
+		fd = open(file, O_CREAT | O_RDWR, S_IRWXU);
+		if (fd == -1) {
+			tst_resm(TWARN | TERRNO, "opening %s failed", file);
+			return 1;
+		}
+
+		if (write(fd, "TEST_MS_NOATIME", 15) != 15) {
+			tst_resm(TWARN | TERRNO, "write %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #1", file);
+			return 1;
+		}
+
+		atime = file_stat.st_atime;
+
+		sleep(1);
+
+		if (read(fd, NULL, 20) == -1) {
+			tst_resm(TWARN | TERRNO, "read %s failed", file);
+			return 1;
+		}
+
+		if (fstat(fd, &file_stat) == -1) {
+			tst_resm(TWARN | TERRNO, "stat %s failed #2", file);
+			return 1;
+		}
+		close(fd);
+
+		if (file_stat.st_atime != atime) {
+			tst_resm(TWARN, "access time is updated");
+			return 1;
+		}
+		return 0;
 	}
 	return 0;
 }
-- 
1.8.1



------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [LTP] [PATCH 1/2] mount/mount03.c: clean up
  2013-07-02  6:21 [LTP] [PATCH 1/2] mount/mount03.c: clean up DAN LI
  2013-07-02  6:23 ` [LTP] [PATCH 2/2] mount/mount03.c: Test feature MS_NOATIME of mount(2) DAN LI
  2013-07-02  6:35 ` [LTP] [PATCH 2/2 v2] " DAN LI
@ 2013-07-09 14:42 ` chrubis
  2 siblings, 0 replies; 6+ messages in thread
From: chrubis @ 2013-07-09 14:42 UTC (permalink / raw)
  To: DAN LI; +Cc: LTP list

Hi!
> Clean up mount03.c:
>     xxx func() -> xxx func(void)
> 
>     clean up setup()
> 
> 
> Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>

Sorry it took longer than usuall.

>  testcases/kernel/syscalls/mount/mount03.c | 47 ++++++++++---------------------
>  1 file changed, 15 insertions(+), 32 deletions(-)
> 
> diff --git a/testcases/kernel/syscalls/mount/mount03.c b/testcases/kernel/syscalls/mount/mount03.c
> index b1aa71f..8b2d3e4 100644
> --- a/testcases/kernel/syscalls/mount/mount03.c
> +++ b/testcases/kernel/syscalls/mount/mount03.c
> @@ -85,6 +85,7 @@ static int setup_uid(void);
>  char *TCID = "mount03";
>  int TST_TOTAL = 6;
> 
> +#define EXEC_COMMAND	"cp"
>  #define DEFAULT_FSTYPE	"ext2"
>  #define TEMP_FILE	"temp_file"
>  #define FILE_MODE	(S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
> @@ -106,7 +107,6 @@ static char read_buffer[BUFSIZ];
>  static char path_name[PATH_MAX];
>  static char testhome_path[PATH_MAX];
>  static char file[PATH_MAX];
> -static char *cmd = "cp";
> 
>  long rwflags[] = {
>  	MS_RDONLY,
> @@ -375,7 +375,7 @@ int test_rwflag(int i, int cnt)
>  }
> 
>  /* setup_uid() - performs setup for NOUID test */
> -int setup_uid()
> +int setup_uid(void)
>  {
>  	int pid, status;
>  	char command[PATH_MAX];
> @@ -387,7 +387,8 @@ int setup_uid()
>  		return 1;
>  	case 0:
>  		/* Put command into string */
> -		sprintf(command, "%s %s %s", cmd, testhome_path, path_name);
> +		sprintf(command, "%s %s %s",
> +			EXEC_COMMAND, testhome_path, path_name);
> 
>  		/* Run command to cp file to right spot */
>  		if (system(command) == 0)

What about using SAFE_CP() from safe_file_ops.h?

> @@ -410,25 +411,17 @@ int setup_uid()
>  	}
>  }
> 
> -void setup()
> +void setup(void)
>  {
> -	int fd;
>  	char path[PATH_MAX];
> -	char *test_home;
>  	struct stat setuid_test_stat;
> 
>  	tst_sig(FORK, DEF_HANDLER, cleanup);
> 
> -	/* Check whether we are root */
> -	if (geteuid() != 0) {
> -		free(fs_type);
> -		tst_brkm(TBROK, NULL, "Test must be run as root");
> -	}
> +	tst_require_root(NULL);
> 
>  	tst_tmpdir();
> 
> -	test_home = get_current_dir_name();
> -
>  	sprintf(mntpoint, "mnt_%d", getpid());

This getpid() shouldn't be needed as we are in the test tmpdir anyway.

>  	if (mkdir(mntpoint, DIR_MODE))
> @@ -444,38 +437,28 @@ void setup()
>  			 path_name, DIR_MODE);
> 
>  	snprintf(file, PATH_MAX, "%s/setuid_test", path_name);
> -	fd = open(file, O_CREAT | O_TRUNC, S_IRWXU);
> -	if (fd == -1)
> +	if (open(file, O_CREAT | O_TRUNC, S_IRWXU) == -1)
>  		tst_brkm(TBROK, cleanup, "open file failed");
> -	close(fd);

Why removing the close(fd)?

> -	if (stat(file, &setuid_test_stat) < 0) {
> +	if (stat(file, &setuid_test_stat) < 0)
>  		tst_brkm(TBROK, cleanup, "stat for setuid_test failed");
> -	} else {
> -		if ((setuid_test_stat.st_uid || setuid_test_stat.st_gid) &&
> -		    chown(file, 0, 0) < 0)
> -			tst_brkm(TBROK, cleanup,
> -				 "chown for setuid_test failed");
> -
> -		if (setuid_test_stat.st_mode != SUID_MODE &&
> -		    chmod(file, SUID_MODE) < 0)
> -			tst_brkm(TBROK, cleanup,
> -				 "setuid for setuid_test failed");
> -	}
> +
> +	if (setuid_test_stat.st_mode != SUID_MODE && chmod(file, SUID_MODE) < 0)
> +		tst_brkm(TBROK, cleanup,
> +			 "setuid for setuid_test failed");
                            ^
			    This could now be one line statement if I'm
			    not mistaken

>  	/*
>  	 * under temporary directory
>  	 */
> +	strcpy(testhome_path, file);
>  	strncpy(path, path_name, PATH_MAX);
>  	snprintf(path_name, PATH_MAX, "%s/%s/", path, mntpoint);
> -	strcpy(testhome_path, test_home);
> -	strcat(testhome_path, "/setuid_test");
> 
>  	TEST_PAUSE;
> 
>  }
> 
> -void cleanup()
> +void cleanup(void)
>  {
>  	free(fs_type);
> 
> @@ -487,7 +470,7 @@ void cleanup()
>  /*
>   * issue a help message
>   */
> -void help()
> +void help(void)
>  {
>  	printf("-T type	  : specifies the type of filesystem to be mounted."
>  	       " Default ext2.\n");
> -- 

Also please make all internal functions static.

And pretty please remove the absurd fs_type flag allocation.

-- 
Cyril Hrubis
chrubis@suse.cz

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [LTP] [PATCH 2/2 v2] mount/mount03.c: Test feature MS_NOATIME of mount(2)
  2013-07-02  6:35 ` [LTP] [PATCH 2/2 v2] " DAN LI
@ 2013-07-09 14:57   ` chrubis
  0 siblings, 0 replies; 6+ messages in thread
From: chrubis @ 2013-07-09 14:57 UTC (permalink / raw)
  To: DAN LI; +Cc: LTP list

Hi!
> Additional test for features MS_NOATIME.
> 
> Signed-off-by: DAN LI <li.dan@cn.fujitsu.com>
> ---
> +	case 6:
> +		/* Validate MS_NOATIME flag of mount call */
> +
> +		snprintf(file, PATH_MAX, "%satime", path_name);
> +		fd = open(file, O_CREAT | O_RDWR, S_IRWXU);
> +		if (fd == -1) {
> +			tst_resm(TWARN | TERRNO, "opening %s failed", file);
> +			return 1;
> +		}
> +
> +		if (write(fd, "TEST_MS_NOATIME", 15) != 15) {
> +			tst_resm(TWARN | TERRNO, "write %s failed", file);
> +			return 1;
> +		}
> +
> +		if (fstat(fd, &file_stat) == -1) {
> +			tst_resm(TWARN | TERRNO, "stat %s failed #1", file);
> +			return 1;
> +		}
> +
> +		atime = file_stat.st_atime;
> +
> +		sleep(1);
> +
> +		if (read(fd, NULL, 20) == -1) {
> +			tst_resm(TWARN | TERRNO, "read %s failed", file);
> +			return 1;
> +		}
> +
> +		if (fstat(fd, &file_stat) == -1) {
> +			tst_resm(TWARN | TERRNO, "stat %s failed #2", file);
> +			return 1;
> +		}
> +		close(fd);
> +
> +		if (file_stat.st_atime != atime) {
> +			tst_resm(TWARN, "access time is updated");
> +			return 1;
> +		}
> +		return 0;
>  	}

This version looks fine.

-- 
Cyril Hrubis
chrubis@suse.cz

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-07-09 14:56 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-07-02  6:21 [LTP] [PATCH 1/2] mount/mount03.c: clean up DAN LI
2013-07-02  6:23 ` [LTP] [PATCH 2/2] mount/mount03.c: Test feature MS_NOATIME of mount(2) DAN LI
2013-07-02  6:35 ` [LTP] [PATCH 2/2 v2] " DAN LI
2013-07-09 14:57   ` chrubis
2013-07-09 14:42 ` [LTP] [PATCH 1/2] mount/mount03.c: clean up chrubis
  -- strict thread matches above, loose matches on Subject: below --
2013-07-08  5:17 [LTP] [PATCH 1/2 v2] " DAN LI
2013-07-08  5:18 ` [LTP] [PATCH 2/2 v2] mount/mount03.c: Test feature MS_NOATIME of mount(2) DAN LI

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox