From 8e5fd7f796d80c86ca7aaebe329bee352b170812 Mon Sep 17 00:00:00 2001 From: shaver Date: Fri, 28 Feb 2003 21:42:20 +0000 Subject: [PATCH] catch up with b_devel --- lustre/extN/ext3-largefile.diff | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 lustre/extN/ext3-largefile.diff diff --git a/lustre/extN/ext3-largefile.diff b/lustre/extN/ext3-largefile.diff new file mode 100644 index 0000000..db41aab --- /dev/null +++ b/lustre/extN/ext3-largefile.diff @@ -0,0 +1,23 @@ +Under rare conditions (filesystem corruption, really) it is possible +for ext3_dirty_inode() to require _two_ blocks for the transaction: one +for the inode and one to update the superblock - to set +EXT3_FEATURE_RO_COMPAT_LARGE_FILE. This causes the filesystem to go +BUG. + +So reserve an additional block for that eventuality. + + + fs/ext3/inode.c | 2 +- + 1 files changed, 1 insertion(+), 1 deletion(-) + +--- 25/fs/ext3/inode.c~ext3-transaction-reserved-blocks Sat Dec 14 18:28:21 2002 ++++ 25-akpm/fs/ext3/inode.c Sat Dec 14 18:28:21 2002 +@@ -2698,7 +2698,7 @@ void ext3_dirty_inode(struct inode *inod + handle_t *handle; + + lock_kernel(); +- handle = ext3_journal_start(inode, 1); ++ handle = ext3_journal_start(inode, 2); + if (IS_ERR(handle)) + goto out; + if (current_handle && -- 1.8.3.1