xfstests 311: test fsync with dm flakey
diff mbox

Message ID 20130422223114.GD25389@lenny.home.zabbo.net
State Not Applicable
Headers show

Commit Message

Zach Brown April 22, 2013, 10:31 p.m. UTC
> +static void drop_all_caches()
> +{
> +	int value = 3;
> +	int fd;
> +
> +	if ((fd = open("/proc/sys/vm/drop_caches", O_WRONLY)) < 0) {
> +		fprintf(stderr, "Error opening drop caches: %d\n", errno);
> +		return;
> +	}
> +
> +	write(fd, &value, sizeof(int));
> +	close(fd);
> +}

fwiw drop_caches takes an ascii string, not a native int:

  open("/proc/sys/vm/drop_caches", O_WRONLY) = 3
  write(3, "\3\0\0\0", 4)                 = -1 EINVAL (Invalid argument)

  open("/proc/sys/vm/drop_caches", O_WRONLY) = 3
  write(3, "3\n", 2)                      = 2

and all this makes me think that the write() return should probably have
been checked :).

- z
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

--- test.c.busted	2013-04-22 15:22:57.593575545 -0700
+++ test.c	2013-04-22 15:29:25.358072087 -0700
@@ -7,7 +7,7 @@ 
 
 static void drop_all_caches()
 {
-	int value = 3;
+	char value[] = "3\n";
 	int fd;
 
 	if ((fd = open("/proc/sys/vm/drop_caches", O_WRONLY)) < 0) {
@@ -15,7 +15,7 @@ 
                return;
 	}
 
-	write(fd, &value, sizeof(int));
+	write(fd, value, sizeof(value) - 1);
 	close(fd);
 }