Skip to contentSkip to conversation

ext3 s_dirt for r/w

PATCH In review FabF 2 participants 4 messages Jun 19, 2004 VFS

lore
Share & tools
lore

FabF

author
#0 lore raw

PATCH 1/1 ext3 s_dirt for r/w

Andrew,

Here is a patch setting s_dirt for read-write filesystems in ext3_init
(doing it in create_journal seems troublesome IMHO).

PS: untested

Regards,
FabF

fs/super.c +4 -2
diff -Naur orig/fs/super.c edited/fs/super.c
@@ -1569,7 +1569,10 @@
 		ext3_count_free_inodes(sb));
 	percpu_counter_mod(&sbi->s_dirs_counter,
 		ext3_count_dirs(sb));
-
+	if (!(sb->s_flags & MS_RDONLY)) {
+		mark_buffer_dirty(sbi->s_sbh);
+		sb->s_dirt = 1;
+	}
 	return 0;
 
 failed_mount3:
@@ -1841,7 +1844,6 @@
 	EXT3_SET_COMPAT_FEATURE(sb, EXT3_FEATURE_COMPAT_HAS_JOURNAL);
 
 	es->s_journal_inum = cpu_to_le32(journal_inum);
-	sb->s_dirt = 1;
 
 	/* Make sure we flush the recovery flag to disk. */
 	ext3_commit_super(sb, es, 1);
#1 lore raw
Quoted 3 lines · FabF

Here is a patch setting s_dirt for read-write filesystems in ext3_init
(doing it in create_journal seems troublesome IMHO).

Why?

Quoted 1 line

PS: untested

Please don't send untested patches.

Quoted 3 lines

diff -Naur orig/fs/super.c edited/fs/super.c
--- orig/fs/super.c 2004-06-16 07:20:03.000000000 +0200
+++ edited/fs/super.c 2004-06-19 19:58:19.895637880 +0200

fs/super.c does not contain ext3 code.

author
#2 lore raw
Quoted 6 lines · Andrew Morton
Quoted 3 lines · FabF

Here is a patch setting s_dirt for read-write filesystems in ext3_init
(doing it in create_journal seems troublesome IMHO).

Why?

ext3_create_journal is called with journal_inum parser option set which means unjournaled r/w ext3 fs are s_dirt 0.

Quoted 4 lines
Quoted 2 lines

PS: untested

Please don't send untested patches.

Ok, tested.No problem here.

author
#3 lore raw
Quoted 9 lines · FabF
Quoted 6 lines · Andrew Morton
Quoted 3 lines · FabF

Here is a patch setting s_dirt for read-write filesystems in ext3_init
(doing it in create_journal seems troublesome IMHO).

Why?

ext3_create_journal is called with journal_inum parser option set which means unjournaled r/w ext3 fs are s_dirt 0.

Oops ... ^has_journal is only ext2 readable so there's no problem at that point ...Anyway, valid ext3 partition can be initialized with load_journal or create_journal so s_dirt problem remains IMHO...

Regards,
FabF