[Ocfs2-tools-commits] zab commits r422 - trunk/fsck.ocfs2

svn-commits at oss.oracle.com svn-commits at oss.oracle.com
Thu Nov 18 23:59:28 CST 2004


Author: zab
Date: 2004-11-18 23:59:26 -0600 (Thu, 18 Nov 2004)
New Revision: 422

Modified:
   trunk/fsck.ocfs2/fsck.c
Log:
o open O_DIRECT by default and add -u to open buffered


Modified: trunk/fsck.ocfs2/fsck.c
===================================================================
--- trunk/fsck.ocfs2/fsck.c	2004-11-19 03:46:21 UTC (rev 421)
+++ trunk/fsck.ocfs2/fsck.c	2004-11-19 05:59:26 UTC (rev 422)
@@ -217,7 +217,7 @@
 	char *filename;
 	int64_t blkno, blksize;
 	o2fsck_state _ost, *ost = &_ost;
-	int c, ret, rw = OCFS2_FLAG_RW;
+	int c, ret, open_flags = OCFS2_FLAG_RW;
 	int fsck_mask = FSCK_OK;
 
 	memset(ost, 0, sizeof(o2fsck_state));
@@ -233,7 +233,7 @@
 	setlinebuf(stderr);
 	setlinebuf(stdout);
 
-	while((c = getopt(argc, argv, "b:B:npvy")) != EOF) {
+	while((c = getopt(argc, argv, "b:B:npuvy")) != EOF) {
 		switch (c) {
 			case 'b':
 				blkno = read_number(optarg);
@@ -266,7 +266,8 @@
 			case 'n':
 				ost->ost_ask = 0;
 				ost->ost_answer = 0;
-				rw = OCFS2_FLAG_RO;
+				open_flags &= ~OCFS2_FLAG_RW;
+				open_flags |= OCFS2_FLAG_RO;
 				break;
 
 			/* "preen" don't ask and force fixing */
@@ -280,6 +281,10 @@
 				ost->ost_answer = 1;
 				break;
 
+			case 'u':
+				open_flags |= OCFS2_FLAG_BUFFERED;
+				break;
+
 			case 'v':
 				verbose = 1;
 				break;
@@ -309,10 +314,7 @@
 
 	filename = argv[optind];
 
-	/* XXX we'll decide on a policy for using o_direct in the future.
-	 * for now we want to test against loopback files in ext3, say. */
-	ret = ocfs2_open(filename, rw | OCFS2_FLAG_BUFFERED, blkno,
-			 blksize, &ost->ost_fs);
+	ret = ocfs2_open(filename, open_flags, blkno, blksize, &ost->ost_fs);
 	if (ret) {
 		com_err(argv[0], ret,
 			"while opening file \"%s\"", filename);



More information about the Ocfs2-tools-commits mailing list