⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ext3-journal-chksum-2.6.18-vanilla.patch

📁 lustre 1.6.5 source code
💻 PATCH
字号:
Index: linux-2.6.18/fs/ext3/super.c===================================================================--- linux-2.6.18.orig/fs/ext3/super.c+++ linux-2.6.18/fs/ext3/super.c@@ -688,6 +688,9 @@ enum { 	Opt_user_xattr, Opt_nouser_xattr, Opt_acl, Opt_noacl, 	Opt_reservation, Opt_noreservation, Opt_noload, Opt_nobh, Opt_bh, 	Opt_commit, Opt_journal_update, Opt_journal_inum, Opt_journal_dev,+#ifdef JFS_FEATURE_COMPAT_CHECKSUM+	Opt_journal_checksum, Opt_journal_async_commit,+#endif 	Opt_abort, Opt_data_journal, Opt_data_ordered, Opt_data_writeback, 	Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota, 	Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,@@ -730,6 +733,10 @@ static match_table_t tokens = { 	{Opt_journal_update, "journal=update"}, 	{Opt_journal_inum, "journal=%u"}, 	{Opt_journal_dev, "journal_dev=%u"},+#ifdef JFS_FEATURE_COMPAT_CHECKSUM+	{Opt_journal_checksum, "journal_checksum"},+	{Opt_journal_async_commit, "journal_async_commit"},+#endif 	{Opt_abort, "abort"}, 	{Opt_data_journal, "data=journal"}, 	{Opt_data_ordered, "data=ordered"},@@ -924,6 +931,15 @@ static int parse_options (char *options, 				return 0; 			*journal_devnum = option; 			break;+#ifdef JFS_FEATURE_COMPAT_CHECKSUM+		case Opt_journal_checksum:+			set_opt (sbi->s_mount_opt, JOURNAL_CHECKSUM);+			break;+		case Opt_journal_async_commit:+			set_opt (sbi->s_mount_opt, JOURNAL_ASYNC_COMMIT);+			set_opt (sbi->s_mount_opt, JOURNAL_CHECKSUM);+			break;+#endif 		case Opt_noload: 			set_opt (sbi->s_mount_opt, NOLOAD); 			break;@@ -2180,6 +2196,23 @@ static int ext3_fill_super (struct super 		goto failed_mount3; 	} +#ifdef JFS_FEATURE_COMPAT_CHECKSUM+	if (test_opt(sb, JOURNAL_ASYNC_COMMIT)) {+		journal_set_features(sbi->s_journal,+				JFS_FEATURE_COMPAT_CHECKSUM, 0,+				JFS_FEATURE_INCOMPAT_ASYNC_COMMIT);+	} else if (test_opt(sb, JOURNAL_CHECKSUM)) {+		journal_set_features(sbi->s_journal,+				JFS_FEATURE_COMPAT_CHECKSUM, 0, 0);+		journal_clear_features(sbi->s_journal, 0, 0,+				JFS_FEATURE_INCOMPAT_ASYNC_COMMIT);+	} else {+		journal_clear_features(sbi->s_journal,+				JFS_FEATURE_COMPAT_CHECKSUM, 0,+				JFS_FEATURE_INCOMPAT_ASYNC_COMMIT);+	}+#endif+ 	/* We have now updated the journal if required, so we can 	 * validate the data journaling mode. */ 	switch (test_opt(sb, DATA_FLAGS)) {Index: linux-2.6.18/include/linux/ext3_fs.h===================================================================--- linux-2.6.18.orig/include/linux/ext3_fs.h+++ linux-2.6.18/include/linux/ext3_fs.h@@ -476,6 +476,11 @@ do {									       \ #define EXT3_MOUNT_EXTDEBUG             0x4000000/* Extents debug */ #define EXT3_MOUNT_MBALLOC		0x8000000/* Buddy allocation support */ +#ifdef JFS_FEATURE_COMPAT_CHECKSUM+#define EXT3_MOUNT_JOURNAL_CHECKSUM     0x10000000 /* Journal checksums */+#define EXT3_MOUNT_JOURNAL_ASYNC_COMMIT 0x20000000 /* Journal Async Commit */+#endif+ /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ #ifndef clear_opt #define clear_opt(o, opt)		o &= ~EXT3_MOUNT_##opt

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -