From 2272196f297a7712737e8978d312234ff40aaa0b Mon Sep 17 00:00:00 2001 From: ccooper Date: Wed, 15 Sep 2004 21:53:16 +0000 Subject: [PATCH] r=adilger,nic - landing b1_4_smallfix --- .../patches/ext3-extents-2.4.24.patch | 59 +++++++++++++++------- 1 file changed, 40 insertions(+), 19 deletions(-) diff --git a/lustre/kernel_patches/patches/ext3-extents-2.4.24.patch b/lustre/kernel_patches/patches/ext3-extents-2.4.24.patch index f163d76..62a0f5b 100644 --- a/lustre/kernel_patches/patches/ext3-extents-2.4.24.patch +++ b/lustre/kernel_patches/patches/ext3-extents-2.4.24.patch @@ -1,7 +1,7 @@ Index: linux-2.4.24/fs/ext3/extents.c =================================================================== --- linux-2.4.24.orig/fs/ext3/extents.c 2003-01-30 13:24:37.000000000 +0300 -+++ linux-2.4.24/fs/ext3/extents.c 2004-08-10 03:51:53.000000000 +0400 ++++ linux-2.4.24/fs/ext3/extents.c 2004-09-12 19:57:09.000000000 +0400 @@ -0,0 +1,2262 @@ +/* + * Copyright (c) 2003, Cluster File Systems, Inc, info@clusterfs.com @@ -2267,9 +2267,9 @@ Index: linux-2.4.24/fs/ext3/extents.c + Index: linux-2.4.24/fs/ext3/ialloc.c =================================================================== ---- linux-2.4.24.orig/fs/ext3/ialloc.c 2004-08-10 02:51:34.000000000 +0400 -+++ linux-2.4.24/fs/ext3/ialloc.c 2004-08-10 03:50:29.000000000 +0400 -@@ -592,10 +592,14 @@ +--- linux-2.4.24.orig/fs/ext3/ialloc.c 2004-09-12 19:57:08.000000000 +0400 ++++ linux-2.4.24/fs/ext3/ialloc.c 2004-09-12 19:57:45.000000000 +0400 +@@ -592,10 +592,21 @@ iloc.bh = NULL; goto fail; } @@ -2279,6 +2279,13 @@ Index: linux-2.4.24/fs/ext3/ialloc.c + if (test_opt(sb, EXTENTS)) { + EXT3_I(inode)->i_flags |= EXT3_EXTENTS_FL; + ext3_extents_initialize_blockmap(handle, inode); ++ if (!EXT3_HAS_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_EXTENTS)) { ++ err = ext3_journal_get_write_access(handle, EXT3_SB(sb)->s_sbh); ++ if (err) goto fail; ++ EXT3_SET_INCOMPAT_FEATURE(sb, EXT3_FEATURE_INCOMPAT_EXTENTS); ++ BUFFER_TRACE(EXT3_SB(sb)->s_sbh, "call ext3_journal_dirty_metadata"); ++ err = ext3_journal_dirty_metadata(handle, EXT3_SB(sb)->s_sbh); ++ } + } + err = ext3_mark_iloc_dirty(handle, inode, &iloc); @@ -2288,8 +2295,8 @@ Index: linux-2.4.24/fs/ext3/ialloc.c if(DQUOT_ALLOC_INODE(inode)) { Index: linux-2.4.24/fs/ext3/inode.c =================================================================== ---- linux-2.4.24.orig/fs/ext3/inode.c 2004-08-10 02:51:36.000000000 +0400 -+++ linux-2.4.24/fs/ext3/inode.c 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/fs/ext3/inode.c 2004-09-12 19:57:09.000000000 +0400 ++++ linux-2.4.24/fs/ext3/inode.c 2004-09-12 19:57:09.000000000 +0400 @@ -848,6 +848,15 @@ goto reread; } @@ -2373,8 +2380,8 @@ Index: linux-2.4.24/fs/ext3/inode.c "allocating block %ld\n", rc, iblock); Index: linux-2.4.24/fs/ext3/Makefile =================================================================== ---- linux-2.4.24.orig/fs/ext3/Makefile 2004-08-10 02:51:35.000000000 +0400 -+++ linux-2.4.24/fs/ext3/Makefile 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/fs/ext3/Makefile 2004-09-12 19:57:08.000000000 +0400 ++++ linux-2.4.24/fs/ext3/Makefile 2004-09-12 19:57:09.000000000 +0400 @@ -13,7 +13,9 @@ obj-y := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o iopen.o \ @@ -2388,8 +2395,8 @@ Index: linux-2.4.24/fs/ext3/Makefile export-objs += xattr.o Index: linux-2.4.24/fs/ext3/super.c =================================================================== ---- linux-2.4.24.orig/fs/ext3/super.c 2004-08-10 02:51:34.000000000 +0400 -+++ linux-2.4.24/fs/ext3/super.c 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/fs/ext3/super.c 2004-09-12 19:57:08.000000000 +0400 ++++ linux-2.4.24/fs/ext3/super.c 2004-09-12 19:57:09.000000000 +0400 @@ -530,6 +530,7 @@ int i; @@ -2420,8 +2427,8 @@ Index: linux-2.4.24/fs/ext3/super.c failed_mount3: Index: linux-2.4.24/fs/ext3/ioctl.c =================================================================== ---- linux-2.4.24.orig/fs/ext3/ioctl.c 2004-08-10 02:51:29.000000000 +0400 -+++ linux-2.4.24/fs/ext3/ioctl.c 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/fs/ext3/ioctl.c 2004-09-12 19:57:07.000000000 +0400 ++++ linux-2.4.24/fs/ext3/ioctl.c 2004-09-12 19:57:09.000000000 +0400 @@ -174,6 +174,10 @@ return ret; } @@ -2435,8 +2442,8 @@ Index: linux-2.4.24/fs/ext3/ioctl.c } Index: linux-2.4.24/include/linux/ext3_fs.h =================================================================== ---- linux-2.4.24.orig/include/linux/ext3_fs.h 2004-08-10 02:51:34.000000000 +0400 -+++ linux-2.4.24/include/linux/ext3_fs.h 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/include/linux/ext3_fs.h 2004-09-12 19:57:08.000000000 +0400 ++++ linux-2.4.24/include/linux/ext3_fs.h 2004-09-12 19:57:45.000000000 +0400 @@ -184,6 +184,7 @@ #define EXT3_IMAGIC_FL 0x00002000 /* AFS directory */ #define EXT3_JOURNAL_DATA_FL 0x00004000 /* file data should be journaled */ @@ -2464,7 +2471,21 @@ Index: linux-2.4.24/include/linux/ext3_fs.h /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */ #ifndef _LINUX_EXT2_FS_H -@@ -688,6 +694,7 @@ +@@ -503,10 +509,12 @@ + #define EXT3_FEATURE_INCOMPAT_FILETYPE 0x0002 + #define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */ + #define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */ ++#define EXT3_FEATURE_INCOMPAT_EXTENTS 0x0040 /* extents support */ + + #define EXT3_FEATURE_COMPAT_SUPP EXT2_FEATURE_COMPAT_EXT_ATTR + #define EXT3_FEATURE_INCOMPAT_SUPP (EXT3_FEATURE_INCOMPAT_FILETYPE| \ +- EXT3_FEATURE_INCOMPAT_RECOVER) ++ EXT3_FEATURE_INCOMPAT_RECOVER| \ ++ EXT3_FEATURE_INCOMPAT_EXTENTS) + #define EXT3_FEATURE_RO_COMPAT_SUPP (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \ + EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \ + EXT3_FEATURE_RO_COMPAT_BTREE_DIR) +@@ -688,6 +696,7 @@ extern unsigned long ext3_count_free (struct buffer_head *, unsigned); /* inode.c */ @@ -2472,7 +2493,7 @@ Index: linux-2.4.24/include/linux/ext3_fs.h extern int ext3_forget(handle_t *, int, struct inode *, struct buffer_head *, int); extern struct buffer_head * ext3_getblk (handle_t *, struct inode *, long, int, int *); extern struct buffer_head * ext3_bread (handle_t *, struct inode *, int, int, int *); -@@ -769,6 +776,14 @@ +@@ -769,6 +778,14 @@ extern struct inode_operations ext3_symlink_inode_operations; extern struct inode_operations ext3_fast_symlink_inode_operations; @@ -2490,7 +2511,7 @@ Index: linux-2.4.24/include/linux/ext3_fs.h Index: linux-2.4.24/include/linux/ext3_extents.h =================================================================== --- linux-2.4.24.orig/include/linux/ext3_extents.h 2003-01-30 13:24:37.000000000 +0300 -+++ linux-2.4.24/include/linux/ext3_extents.h 2004-08-10 03:50:29.000000000 +0400 ++++ linux-2.4.24/include/linux/ext3_extents.h 2004-09-12 19:57:09.000000000 +0400 @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2003, Cluster File Systems, Inc, info@clusterfs.com @@ -2731,8 +2752,8 @@ Index: linux-2.4.24/include/linux/ext3_extents.h + Index: linux-2.4.24/include/linux/ext3_fs_i.h =================================================================== ---- linux-2.4.24.orig/include/linux/ext3_fs_i.h 2004-08-10 02:51:34.000000000 +0400 -+++ linux-2.4.24/include/linux/ext3_fs_i.h 2004-08-10 03:50:29.000000000 +0400 +--- linux-2.4.24.orig/include/linux/ext3_fs_i.h 2004-09-12 19:57:08.000000000 +0400 ++++ linux-2.4.24/include/linux/ext3_fs_i.h 2004-09-12 19:57:09.000000000 +0400 @@ -76,6 +76,8 @@ * by other means, so we have truncate_sem. */ -- 1.8.3.1