[Pkg-lustre-svn-commit] updated: [d75312a] Rediffed two ldiskfs patches for kernel 2.6.18 as they fail
Patrick Winnertz
winnie at debian.org
Thu Aug 13 08:44:54 UTC 2009
The following commit has been merged in the master branch:
commit d75312aca432188f10de04b4cfad1605daf78125
Author: Patrick Winnertz <winnie at debian.org>
Date: Thu Aug 13 10:42:16 2009 +0200
Rediffed two ldiskfs patches for kernel 2.6.18 as they fail
to apply on vanilla and debian kernel
Signed-off-by: Patrick Winnertz <winnie at debian.org>
diff --git a/debian/patches/00list b/debian/patches/00list
index 42d06a9..a598179 100644
--- a/debian/patches/00list
+++ b/debian/patches/00list
@@ -27,4 +27,6 @@ libcfs_wrong_includepath.dpatch
lnet-missing-prototypes.dpatch
version_tag-pl-path.dpatch
fix_typecasts_in_printf.dpatch
+#patches for kernel patches (hotfix for 1.8.1)
rediffed_2.6.18-kernel_patches.dpatch
+ldiskfs_2.6.18-hotfixes.dpatch
diff --git a/debian/patches/ldiskfs_2.6.18-hotfixes.dpatch b/debian/patches/ldiskfs_2.6.18-hotfixes.dpatch
new file mode 100755
index 0000000..e9ff386
--- /dev/null
+++ b/debian/patches/ldiskfs_2.6.18-hotfixes.dpatch
@@ -0,0 +1,662 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## autogen.dpatch by Patrick Winnertz <winnie at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: rediffed two patches as they don't apply against 2.6.18 (debian and vanilla)
+
+ at DPATCH@
+diff --git a/ldiskfs/kernel_patches/patches/ext3-extents-2.6.18-vanilla.patch b/ldiskfs/kernel_patches/patches/ext3-extents-2.6.18-vanilla.patch
+index 27cfe46..d50e459 100644
+--- a/ldiskfs/kernel_patches/patches/ext3-extents-2.6.18-vanilla.patch
++++ b/ldiskfs/kernel_patches/patches/ext3-extents-2.6.18-vanilla.patch
+@@ -1,8 +1,8 @@
+-Index: linux-2.6.18.8/fs/ext3/dir.c
++Index: linux-source-2.6.18/fs/ext3/dir.c
+ ===================================================================
+---- linux-2.6.18.8.orig/fs/ext3/dir.c 2007-02-24 00:52:30.000000000 +0100
+-+++ linux-2.6.18.8/fs/ext3/dir.c 2007-07-17 09:18:14.000000000 +0200
+-@@ -131,8 +131,7 @@ static int ext3_readdir(struct file * fi
++--- linux-source-2.6.18.orig/fs/ext3/dir.c 2009-05-05 01:40:47.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/dir.c 2009-08-13 10:33:12.000000000 +0200
++@@ -132,8 +132,7 @@
+ struct buffer_head *bh = NULL;
+
+ map_bh.b_state = 0;
+@@ -12,10 +12,10 @@ Index: linux-2.6.18.8/fs/ext3/dir.c
+ if (err > 0) {
+ page_cache_readahead(sb->s_bdev->bd_inode->i_mapping,
+ &filp->f_ra,
+-Index: linux-2.6.18.8/fs/ext3/extents.c
++Index: linux-source-2.6.18/fs/ext3/extents.c
+ ===================================================================
+ --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+-+++ linux-2.6.18.8/fs/ext3/extents.c 2007-07-17 11:08:59.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/extents.c 2009-08-13 10:33:12.000000000 +0200
+ @@ -0,0 +1,2276 @@
+ +/*
+ + * Copyright 2008, Sun Microsystems, Inc.
+@@ -2293,11 +2293,11 @@ Index: linux-2.6.18.8/fs/ext3/extents.c
+ +EXPORT_SYMBOL(ext3_ext_walk_space);
+ +EXPORT_SYMBOL(ext3_ext_find_goal);
+ +EXPORT_SYMBOL(ext3_ext_calc_credits_for_insert);
+-Index: linux-2.6.18.8/fs/ext3/ialloc.c
++Index: linux-source-2.6.18/fs/ext3/ialloc.c
+ ===================================================================
+---- linux-2.6.18.8.orig/fs/ext3/ialloc.c 2007-07-17 09:18:09.000000000 +0200
+-+++ linux-2.6.18.8/fs/ext3/ialloc.c 2007-07-17 11:08:09.000000000 +0200
+-@@ -652,6 +652,17 @@ got:
++--- linux-source-2.6.18.orig/fs/ext3/ialloc.c 2009-08-13 10:32:52.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/ialloc.c 2009-08-13 10:33:12.000000000 +0200
++@@ -652,6 +652,17 @@
+ ext3_std_error(sb, err);
+ goto fail_free_drop;
+ }
+@@ -2315,10 +2315,10 @@ Index: linux-2.6.18.8/fs/ext3/ialloc.c
+
+ ext3_debug("allocating inode %lu\n", inode->i_ino);
+ goto really_out;
+-Index: linux-2.6.18.8/fs/ext3/inode.c
++Index: linux-source-2.6.18/fs/ext3/inode.c
+ ===================================================================
+---- linux-2.6.18.8.orig/fs/ext3/inode.c 2007-07-17 09:18:12.000000000 +0200
+-+++ linux-2.6.18.8/fs/ext3/inode.c 2007-07-17 11:08:11.000000000 +0200
++--- linux-source-2.6.18.orig/fs/ext3/inode.c 2009-08-13 10:32:52.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/inode.c 2009-08-13 10:33:12.000000000 +0200
+ @@ -40,8 +40,6 @@
+ #include "iopen.h"
+ #include "acl.h"
+@@ -2328,7 +2328,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ /*
+ * Test whether an inode is a fast symlink.
+ */
+-@@ -804,6 +802,7 @@ int ext3_get_blocks_handle(handle_t *han
++@@ -804,6 +802,7 @@
+ ext3_fsblk_t first_block = 0;
+
+
+@@ -2336,22 +2336,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ J_ASSERT(handle != NULL || create == 0);
+ depth = ext3_block_to_path(inode,iblock,offsets,&blocks_to_boundary);
+
+-@@ -984,12 +983,10 @@ static int ext3_get_block(struct inode *
+- started = 1;
+- }
+-
+-- ret = ext3_get_blocks_handle(handle, inode, iblock,
+-+ ret = ext3_get_blocks_wrap(handle, inode, iblock,
+- max_blocks, bh_result, create, 0);
+-- if (ret > 0) {
+-- bh_result->b_size = (ret << inode->i_blkbits);
+-+ if (ret > 0)
+- ret = 0;
+-- }
+- if (started)
+- ext3_journal_stop(handle);
+- out:
+-@@ -1008,7 +1005,7 @@ struct buffer_head *ext3_getblk(handle_t
++@@ -1008,7 +1007,7 @@
+ dummy.b_state = 0;
+ dummy.b_blocknr = -1000;
+ buffer_trace_init(&dummy.b_history);
+@@ -2360,7 +2345,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ &dummy, create, 1);
+ /*
+ * ext3_get_blocks_handle() returns number of blocks
+-@@ -1759,7 +1756,7 @@ void ext3_set_aops(struct inode *inode)
++@@ -1759,7 +1758,7 @@
+ * This required during truncate. We need to physically zero the tail end
+ * of that block so it doesn't yield old data if the file is later grown.
+ */
+@@ -2369,7 +2354,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ struct address_space *mapping, loff_t from)
+ {
+ ext3_fsblk_t index = from >> PAGE_CACHE_SHIFT;
+-@@ -2263,6 +2260,9 @@ void ext3_truncate(struct inode *inode)
++@@ -2263,6 +2262,9 @@
+ return;
+ }
+
+@@ -2379,7 +2364,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ handle = start_transaction(inode);
+ if (IS_ERR(handle)) {
+ if (page) {
+-@@ -3008,12 +3008,15 @@ err_out:
++@@ -3008,12 +3010,15 @@
+ * block and work out the exact number of indirects which are touched. Pah.
+ */
+
+@@ -2396,7 +2381,7 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ if (ext3_should_journal_data(inode))
+ ret = 3 * (bpp + indirects) + 2;
+ else
+-@@ -3260,7 +3263,7 @@ int ext3_map_inode_page(struct inode *in
++@@ -3260,7 +3265,7 @@
+ if (blocks[i] != 0)
+ continue;
+
+@@ -2405,10 +2390,10 @@ Index: linux-2.6.18.8/fs/ext3/inode.c
+ if (rc < 0) {
+ printk(KERN_INFO "ext3_map_inode_page: error reading "
+ "block %ld\n", iblock);
+-Index: linux-2.6.18.8/fs/ext3/Makefile
++Index: linux-source-2.6.18/fs/ext3/Makefile
+ ===================================================================
+---- linux-2.6.18.8.orig/fs/ext3/Makefile 2007-07-17 09:18:11.000000000 +0200
+-+++ linux-2.6.18.8/fs/ext3/Makefile 2007-07-17 11:08:11.000000000 +0200
++--- linux-source-2.6.18.orig/fs/ext3/Makefile 2009-08-13 10:32:52.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/Makefile 2009-08-13 10:33:12.000000000 +0200
+ @@ -5,7 +5,7 @@
+ obj-$(CONFIG_EXT3_FS) += ext3.o
+
+@@ -2418,11 +2403,11 @@ Index: linux-2.6.18.8/fs/ext3/Makefile
+
+ ext3-$(CONFIG_EXT3_FS_XATTR) += xattr.o xattr_user.o xattr_trusted.o
+ ext3-$(CONFIG_EXT3_FS_POSIX_ACL) += acl.o
+-Index: linux-2.6.18.8/fs/ext3/super.c
++Index: linux-source-2.6.18/fs/ext3/super.c
+ ===================================================================
+---- linux-2.6.18.8.orig/fs/ext3/super.c 2007-07-17 09:18:12.000000000 +0200
+-+++ linux-2.6.18.8/fs/ext3/super.c 2007-07-17 11:08:12.000000000 +0200
+-@@ -391,6 +391,7 @@ static void ext3_put_super (struct super
++--- linux-source-2.6.18.orig/fs/ext3/super.c 2009-08-13 10:32:52.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/super.c 2009-08-13 10:33:12.000000000 +0200
++@@ -391,6 +391,7 @@
+ struct ext3_super_block *es = sbi->s_es;
+ int i;
+
+@@ -2430,7 +2415,7 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ ext3_xattr_put_super(sb);
+ journal_destroy(sbi->s_journal);
+ if (!(sb->s_flags & MS_RDONLY)) {
+-@@ -455,6 +456,8 @@ static struct inode *ext3_alloc_inode(st
++@@ -455,6 +456,8 @@
+ #endif
+ ei->i_block_alloc_info = NULL;
+ ei->vfs_inode.i_version = 1;
+@@ -2439,7 +2424,7 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ return &ei->vfs_inode;
+ }
+
+-@@ -680,7 +683,8 @@ enum {
++@@ -680,7 +683,8 @@
+ Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
+ Opt_ignore, Opt_barrier, Opt_err, Opt_resize, Opt_usrquota,
+ Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
+@@ -2449,7 +2434,7 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ };
+
+ static match_table_t tokens = {
+-@@ -733,6 +737,9 @@ static match_table_t tokens = {
++@@ -733,6 +737,9 @@
+ {Opt_noiopen, "noiopen"},
+ {Opt_iopen_nopriv, "iopen_nopriv"},
+ {Opt_barrier, "barrier=%u"},
+@@ -2459,7 +2444,7 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ {Opt_err, NULL},
+ {Opt_resize, "resize"},
+ };
+-@@ -1077,6 +1084,15 @@ clear_qf_name:
++@@ -1077,6 +1084,15 @@
+ case Opt_bh:
+ clear_opt(sbi->s_mount_opt, NOBH);
+ break;
+@@ -2475,7 +2460,7 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ default:
+ printk (KERN_ERR
+ "EXT3-fs: Unrecognized mount option \"%s\" "
+-@@ -1806,6 +1822,8 @@ static int ext3_fill_super (struct super
++@@ -1802,6 +1818,8 @@
+ test_opt(sb,DATA_FLAGS) == EXT3_MOUNT_ORDERED_DATA ? "ordered":
+ "writeback");
+
+@@ -2484,10 +2469,10 @@ Index: linux-2.6.18.8/fs/ext3/super.c
+ lock_kernel();
+ return 0;
+
+-Index: linux-2.6.18.8/include/linux/ext3_extents.h
++Index: linux-source-2.6.18/include/linux/ext3_extents.h
+ ===================================================================
+ --- /dev/null 1970-01-01 00:00:00.000000000 +0000
+-+++ linux-2.6.18.8/include/linux/ext3_extents.h 2007-07-17 09:18:14.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_extents.h 2009-08-13 10:33:12.000000000 +0200
+ @@ -0,0 +1,232 @@
+ +/*
+ + * Copyright 2008 Sun Microsystems, Inc.
+@@ -2721,11 +2706,11 @@ Index: linux-2.6.18.8/include/linux/ext3_extents.h
+ +
+ +#endif /* _LINUX_EXT3_EXTENTS */
+ +
+-Index: linux-2.6.18.8/include/linux/ext3_fs.h
++Index: linux-source-2.6.18/include/linux/ext3_fs.h
+ ===================================================================
+---- linux-2.6.18.8.orig/include/linux/ext3_fs.h 2007-07-17 09:18:13.000000000 +0200
+-+++ linux-2.6.18.8/include/linux/ext3_fs.h 2007-07-17 11:08:12.000000000 +0200
+-@@ -182,8 +182,9 @@ struct ext3_group_desc
++--- linux-source-2.6.18.orig/include/linux/ext3_fs.h 2009-08-13 10:32:52.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_fs.h 2009-08-13 10:33:12.000000000 +0200
++@@ -182,8 +182,9 @@
+ #define EXT3_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
+ #define EXT3_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
+ #define EXT3_RESERVED_FL 0x80000000 /* reserved for ext3 lib */
+@@ -2736,7 +2721,7 @@ Index: linux-2.6.18.8/include/linux/ext3_fs.h
+ #define EXT3_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */
+
+ /*
+-@@ -373,6 +374,8 @@ struct ext3_inode {
++@@ -373,6 +374,8 @@
+ #define EXT3_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */
+ #define EXT3_MOUNT_IOPEN 0x400000 /* Allow access via iopen */
+ #define EXT3_MOUNT_IOPEN_NOPRIV 0x800000/* Make iopen world-readable */
+@@ -2745,7 +2730,7 @@ Index: linux-2.6.18.8/include/linux/ext3_fs.h
+
+ /* Compatibility, for having both ext2_fs.h and ext3_fs.h included at once */
+ #ifndef clear_opt
+-@@ -572,11 +575,13 @@ static inline int ext3_valid_inum(struct
++@@ -572,11 +575,13 @@
+ #define EXT3_FEATURE_INCOMPAT_RECOVER 0x0004 /* Needs recovery */
+ #define EXT3_FEATURE_INCOMPAT_JOURNAL_DEV 0x0008 /* Journal device */
+ #define EXT3_FEATURE_INCOMPAT_META_BG 0x0010
+@@ -2760,7 +2745,7 @@ Index: linux-2.6.18.8/include/linux/ext3_fs.h
+ #define EXT3_FEATURE_RO_COMPAT_SUPP (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \
+ EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \
+ EXT3_FEATURE_RO_COMPAT_BTREE_DIR)
+-@@ -816,6 +821,9 @@ extern int ext3_get_inode_loc(struct ino
++@@ -816,6 +821,9 @@
+ extern void ext3_truncate (struct inode *);
+ extern void ext3_set_inode_flags(struct inode *);
+ extern void ext3_set_aops(struct inode *inode);
+@@ -2770,7 +2755,7 @@ Index: linux-2.6.18.8/include/linux/ext3_fs.h
+
+ /* ioctl.c */
+ extern int ext3_ioctl (struct inode *, struct file *, unsigned int,
+-@@ -869,6 +877,30 @@ extern struct inode_operations ext3_spec
++@@ -869,6 +877,30 @@
+ extern struct inode_operations ext3_symlink_inode_operations;
+ extern struct inode_operations ext3_fast_symlink_inode_operations;
+
+@@ -2801,11 +2786,11 @@ Index: linux-2.6.18.8/include/linux/ext3_fs.h
+
+ #endif /* __KERNEL__ */
+
+-Index: linux-2.6.18.8/include/linux/ext3_fs_i.h
++Index: linux-source-2.6.18/include/linux/ext3_fs_i.h
+ ===================================================================
+---- linux-2.6.18.8.orig/include/linux/ext3_fs_i.h 2007-02-24 00:52:30.000000000 +0100
+-+++ linux-2.6.18.8/include/linux/ext3_fs_i.h 2007-07-17 11:08:11.000000000 +0200
+-@@ -65,6 +65,16 @@ struct ext3_block_alloc_info {
++--- linux-source-2.6.18.orig/include/linux/ext3_fs_i.h 2006-09-20 05:42:06.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_fs_i.h 2009-08-13 10:33:12.000000000 +0200
++@@ -65,6 +65,16 @@
+ #define rsv_end rsv_window._rsv_end
+
+ /*
+@@ -2822,7 +2807,7 @@ Index: linux-2.6.18.8/include/linux/ext3_fs_i.h
+ * third extended file system inode data in memory
+ */
+ struct ext3_inode_info {
+-@@ -142,6 +152,8 @@ struct ext3_inode_info {
++@@ -142,6 +152,8 @@
+ */
+ struct mutex truncate_mutex;
+ struct inode vfs_inode;
+@@ -2831,11 +2816,11 @@ Index: linux-2.6.18.8/include/linux/ext3_fs_i.h
+ };
+
+ #endif /* _LINUX_EXT3_FS_I */
+-Index: linux-2.6.18.8/include/linux/ext3_fs_sb.h
++Index: linux-source-2.6.18/include/linux/ext3_fs_sb.h
+ ===================================================================
+---- linux-2.6.18.8.orig/include/linux/ext3_fs_sb.h 2007-02-24 00:52:30.000000000 +0100
+-+++ linux-2.6.18.8/include/linux/ext3_fs_sb.h 2007-07-17 11:08:12.000000000 +0200
+-@@ -78,6 +78,16 @@ struct ext3_sb_info {
++--- linux-source-2.6.18.orig/include/linux/ext3_fs_sb.h 2006-09-20 05:42:06.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_fs_sb.h 2009-08-13 10:33:12.000000000 +0200
++@@ -78,6 +78,16 @@
+ char *s_qf_names[MAXQUOTAS]; /* Names of quota files with journalled quota */
+ int s_jquota_fmt; /* Format of quota to use */
+ #endif
+@@ -2852,10 +2837,10 @@ Index: linux-2.6.18.8/include/linux/ext3_fs_sb.h
+ };
+
+ #endif /* _LINUX_EXT3_FS_SB */
+-Index: linux-2.6.18.8/include/linux/ext3_jbd.h
++Index: linux-source-2.6.18/include/linux/ext3_jbd.h
+ ===================================================================
+---- linux-2.6.18.8.orig/include/linux/ext3_jbd.h 2007-02-24 00:52:30.000000000 +0100
+-+++ linux-2.6.18.8/include/linux/ext3_jbd.h 2007-07-17 09:18:14.000000000 +0200
++--- linux-source-2.6.18.orig/include/linux/ext3_jbd.h 2006-09-20 05:42:06.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_jbd.h 2009-08-13 10:33:12.000000000 +0200
+ @@ -23,12 +23,20 @@
+
+ /* Define the number of blocks we need to account to a transaction to
+diff --git a/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch b/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch
+index 88dc179..99423d3 100644
+--- a/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch
++++ b/ldiskfs/kernel_patches/patches/ext3-uninit-2.6.18.patch
+@@ -6,11 +6,11 @@ group descriptor to avoid reading or scanning them at e2fsck time.
+ A checksum of each group descriptor is used to ensure that corruption in
+ the group descriptor's bit flags does not cause incorrect operation.
+
+-Index: linux-2.6.18-53.1.14/include/linux/ext3_fs.h
++Index: linux-source-2.6.18/include/linux/ext3_fs.h
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/include/linux/ext3_fs.h
+-+++ linux-2.6.18-53.1.14/include/linux/ext3_fs.h
+-@@ -150,16 +150,22 @@ struct ext3_allocation_request {
++--- linux-source-2.6.18.orig/include/linux/ext3_fs.h 2009-08-13 10:36:02.000000000 +0200
+++++ linux-source-2.6.18/include/linux/ext3_fs.h 2009-08-13 10:36:33.000000000 +0200
++@@ -151,16 +151,22 @@
+ */
+ struct ext3_group_desc
+ {
+@@ -37,7 +37,7 @@ Index: linux-2.6.18-53.1.14/include/linux/ext3_fs.h
+ /*
+ * Macro-instructions used to manage group descriptors
+ */
+-@@ -603,6 +609,7 @@ static inline int ext3_valid_inum(struct
++@@ -604,6 +610,7 @@
+ #define EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER 0x0001
+ #define EXT3_FEATURE_RO_COMPAT_LARGE_FILE 0x0002
+ #define EXT3_FEATURE_RO_COMPAT_BTREE_DIR 0x0004
+@@ -45,7 +45,7 @@ Index: linux-2.6.18-53.1.14/include/linux/ext3_fs.h
+ #define EXT4_FEATURE_RO_COMPAT_DIR_NLINK 0x0020
+
+ #define EXT3_FEATURE_INCOMPAT_COMPRESSION 0x0001
+-@@ -619,6 +626,7 @@ static inline int ext3_valid_inum(struct
++@@ -620,6 +627,7 @@
+ EXT3_FEATURE_INCOMPAT_EXTENTS)
+ #define EXT3_FEATURE_RO_COMPAT_SUPP (EXT3_FEATURE_RO_COMPAT_SPARSE_SUPER| \
+ EXT3_FEATURE_RO_COMPAT_LARGE_FILE| \
+@@ -53,10 +53,10 @@ Index: linux-2.6.18-53.1.14/include/linux/ext3_fs.h
+ EXT4_FEATURE_RO_COMPAT_DIR_NLINK| \
+ EXT3_FEATURE_RO_COMPAT_BTREE_DIR)
+
+-Index: linux-2.6.18-53.1.14/fs/ext3/resize.c
++Index: linux-source-2.6.18/fs/ext3/resize.c
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/fs/ext3/resize.c
+-+++ linux-2.6.18-53.1.14/fs/ext3/resize.c
++--- linux-source-2.6.18.orig/fs/ext3/resize.c 2009-08-13 10:36:03.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/resize.c 2009-08-13 10:37:36.000000000 +0200
+ @@ -18,6 +18,7 @@
+ #include <linux/errno.h>
+ #include <linux/slab.h>
+@@ -65,7 +65,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/resize.c
+
+ #define outside(b, first, last) ((b) < (first) || (b) >= (last))
+ #define inside(b, first, last) ((b) >= (first) && (b) < (last))
+-@@ -137,25 +138,6 @@ static struct buffer_head *bclean(handle
++@@ -137,25 +138,6 @@
+ }
+
+ /*
+@@ -88,10 +88,10 @@ Index: linux-2.6.18-53.1.14/fs/ext3/resize.c
+ -}
+ -
+ -/*
+- * If we have fewer than thresh credits, extend by EXT3_MAX_TRANS_DATA.
+- * If that fails, restart the transaction & regain write access for the
+- * buffer head which is used for block_bitmap modifications.
+-@@ -834,6 +816,7 @@ int ext3_group_add(struct super_block *s
++ * Set up the block and inode bitmaps, and the inode table for the new group.
++ * This doesn't need to be part of the main transaction, since we are only
++ * changing blocks outside the actual filesystem. We still do journaling to
++@@ -834,6 +816,7 @@
+ gdp->bg_inode_table = cpu_to_le32(input->inode_table);
+ gdp->bg_free_blocks_count = cpu_to_le16(input->free_blocks_count);
+ gdp->bg_free_inodes_count = cpu_to_le16(EXT3_INODES_PER_GROUP(sb));
+@@ -99,10 +99,10 @@ Index: linux-2.6.18-53.1.14/fs/ext3/resize.c
+
+ /*
+ * Make the new blocks and inodes valid next. We do this before
+-Index: linux-2.6.18-53.1.14/fs/ext3/super.c
++Index: linux-source-2.6.18/fs/ext3/super.c
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/fs/ext3/super.c
+-+++ linux-2.6.18-53.1.14/fs/ext3/super.c
++--- linux-source-2.6.18.orig/fs/ext3/super.c 2009-08-13 10:36:03.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/super.c 2009-08-13 10:36:33.000000000 +0200
+ @@ -41,6 +41,7 @@
+ #include "xattr.h"
+ #include "acl.h"
+@@ -111,7 +111,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/super.c
+
+ static int ext3_load_journal(struct super_block *, struct ext3_super_block *,
+ unsigned long journal_devnum);
+-@@ -1227,6 +1228,91 @@ static int ext3_setup_super(struct super
++@@ -1229,6 +1230,91 @@
+ return res;
+ }
+
+@@ -203,7 +203,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/super.c
+ /* Called at mount-time, super-block is locked */
+ static int ext3_check_descriptors (struct super_block * sb)
+ {
+-@@ -1281,6 +1367,13 @@ static int ext3_check_descriptors (struc
++@@ -1283,6 +1369,13 @@
+ le32_to_cpu(gdp->bg_inode_table));
+ return 0;
+ }
+@@ -217,10 +217,10 @@ Index: linux-2.6.18-53.1.14/fs/ext3/super.c
+ first_block += EXT3_BLOCKS_PER_GROUP(sb);
+ gdp++;
+ }
+-Index: linux-2.6.18-53.1.14/fs/ext3/group.h
++Index: linux-source-2.6.18/fs/ext3/group.h
+ ===================================================================
+---- /dev/null
+-+++ linux-2.6.18-53.1.14/fs/ext3/group.h
++--- /dev/null 1970-01-01 00:00:00.000000000 +0000
+++++ linux-source-2.6.18/fs/ext3/group.h 2009-08-13 10:36:33.000000000 +0200
+ @@ -0,0 +1,30 @@
+ +/*
+ + * linux/fs/ext3/group.h
+@@ -252,10 +252,10 @@ Index: linux-2.6.18-53.1.14/fs/ext3/group.h
+ + struct ext3_group_desc *desc);
+ +extern void mark_bitmap_end(int start_bit, int end_bit, char *bitmap);
+ +#endif /* _LINUX_EXT3_GROUP_H */
+-Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
++Index: linux-source-2.6.18/fs/ext3/ialloc.c
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/fs/ext3/ialloc.c
+-+++ linux-2.6.18-53.1.14/fs/ext3/ialloc.c
++--- linux-source-2.6.18.orig/fs/ext3/ialloc.c 2009-08-13 10:36:03.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/ialloc.c 2009-08-13 10:36:33.000000000 +0200
+ @@ -28,6 +28,7 @@
+
+ #include "xattr.h"
+@@ -317,7 +317,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+
+ /*
+ * Read the inode allocation bitmap for a given block_group, reading
+-@@ -59,8 +106,19 @@ read_inode_bitmap(struct super_block * s
++@@ -59,8 +106,19 @@
+ desc = ext3_get_group_desc(sb, block_group, NULL);
+ if (!desc)
+ goto error_out;
+@@ -339,7 +339,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+ if (!bh)
+ ext3_error(sb, "read_inode_bitmap",
+ "Cannot read inode bitmap - "
+-@@ -169,6 +227,8 @@ void ext3_free_inode (handle_t *handle,
++@@ -169,6 +227,8 @@
+ if (is_directory)
+ gdp->bg_used_dirs_count = cpu_to_le16(
+ le16_to_cpu(gdp->bg_used_dirs_count) - 1);
+@@ -348,7 +348,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+ spin_unlock(sb_bgl_lock(sbi, block_group));
+ percpu_counter_inc(&sbi->s_freeinodes_counter);
+ if (is_directory)
+-@@ -454,7 +514,7 @@ struct inode *ext3_new_inode(handle_t *h
++@@ -454,7 +514,7 @@
+ struct ext3_sb_info *sbi;
+ int err = 0;
+ struct inode *ret;
+@@ -357,7 +357,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+
+ /* Cannot create files in a deleted directory */
+ if (!dir || !dir->i_nlink)
+-@@ -571,11 +631,13 @@ repeat_in_this_group:
++@@ -571,11 +631,13 @@
+ goto out;
+
+ got:
+@@ -376,7 +376,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+ err = -EIO;
+ goto fail;
+ }
+-@@ -583,13 +645,64 @@ got:
++@@ -583,13 +645,64 @@
+ BUFFER_TRACE(bh2, "get_write_access");
+ err = ext3_journal_get_write_access(handle, bh2);
+ if (err) goto fail;
+@@ -441,19 +441,19 @@ Index: linux-2.6.18-53.1.14/fs/ext3/ialloc.c
+ spin_unlock(sb_bgl_lock(sbi, group));
+ BUFFER_TRACE(bh2, "call ext3_journal_dirty_metadata");
+ err = ext3_journal_dirty_metadata(handle, bh2);
+-@@ -611,7 +724,7 @@ got:
++@@ -611,7 +724,7 @@
+ inode->i_gid = current->fsgid;
+ inode->i_mode = mode;
+
+ - inode->i_ino = ino;
+ + inode->i_ino = ino + group * EXT3_INODES_PER_GROUP(sb);
+ /* This is the optimal IO size (for stat), not the fs block size */
++ inode->i_blksize = PAGE_SIZE;
+ inode->i_blocks = 0;
+- inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
+-Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
++Index: linux-source-2.6.18/fs/ext3/mballoc.c
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/fs/ext3/mballoc.c
+-+++ linux-2.6.18-53.1.14/fs/ext3/mballoc.c
++--- linux-source-2.6.18.orig/fs/ext3/mballoc.c 2009-08-13 10:36:02.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/mballoc.c 2009-08-13 10:36:33.000000000 +0200
+ @@ -36,6 +36,8 @@
+ #include <linux/seq_file.h>
+ #include <linux/version.h>
+@@ -463,7 +463,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ /*
+ * MUSTDO:
+ * - test ext3_ext_search_left() and ext3_ext_search_right()
+-@@ -323,6 +325,7 @@ struct ext3_group_info {
++@@ -323,6 +325,7 @@
+ unsigned long bb_state;
+ unsigned long bb_tid;
+ struct ext3_free_metadata *bb_md_cur;
+@@ -471,7 +471,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ unsigned short bb_first_free;
+ unsigned short bb_free;
+ unsigned short bb_fragments;
+-@@ -941,10 +944,7 @@ static int ext3_mb_init_cache(struct pag
++@@ -951,10 +954,7 @@
+ if (first_group + i >= EXT3_SB(sb)->s_groups_count)
+ break;
+
+@@ -483,7 +483,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+
+ err = -ENOMEM;
+ bh[i] = sb_getblk(sb, le32_to_cpu(desc->bg_block_bitmap));
+-@@ -959,7 +959,12 @@ static int ext3_mb_init_cache(struct pag
++@@ -969,7 +969,12 @@
+ unlock_buffer(bh[i]);
+ continue;
+ }
+@@ -497,7 +497,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ get_bh(bh[i]);
+ bh[i]->b_end_io = end_buffer_read_sync;
+ submit_bh(READ, bh[i]);
+-@@ -1731,6 +1736,10 @@ static int ext3_mb_good_group(struct ext
++@@ -1763,6 +1768,10 @@
+ switch (cr) {
+ case 0:
+ BUG_ON(ac->ac_2order == 0);
+@@ -508,7 +508,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ bits = ac->ac_sb->s_blocksize_bits + 1;
+ for (i = ac->ac_2order; i <= bits; i++)
+ if (grp->bb_counters[i] > 0)
+-@@ -1824,7 +1833,9 @@ repeat:
++@@ -1866,7 +1875,9 @@
+ }
+
+ ac->ac_groups_scanned++;
+@@ -519,7 +519,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ ext3_mb_simple_scan_group(ac, &e3b);
+ else if (cr == 1 && ac->ac_g_ex.fe_len == sbi->s_stripe)
+ ext3_mb_scan_aligned(ac, &e3b);
+-@@ -2304,12 +2315,13 @@ int ext3_mb_init_backend(struct super_bl
++@@ -2362,12 +2373,13 @@
+ i--;
+ goto err_freebuddy;
+ }
+@@ -534,7 +534,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ set_bit(EXT3_GROUP_INFO_NEED_INIT_BIT,
+ &meta_group_info[j]->bb_state);
+
+-@@ -2943,9 +2955,17 @@ int ext3_mb_mark_diskspace_used(struct e
++@@ -2974,9 +2986,17 @@
+ mb_set_bits(NULL, bitmap_bh->b_data,
+ ac->ac_b_ex.fe_start, ac->ac_b_ex.fe_len);
+
+@@ -551,19 +551,19 @@ Index: linux-2.6.18-53.1.14/fs/ext3/mballoc.c
+ + gdp->bg_checksum = ext3_group_desc_csum(sbi, ac->ac_b_ex.fe_group, gdp);
+ spin_unlock(sb_bgl_lock(sbi, ac->ac_b_ex.fe_group));
+ percpu_counter_mod(&sbi->s_freeblocks_counter, - ac->ac_b_ex.fe_len);
+-
+-@@ -4355,6 +4375,7 @@ do_more:
+- spin_lock(sb_bgl_lock(sbi, block_group));
++ ext3_unlock_group(sb, ac->ac_b_ex.fe_group);
++@@ -4435,6 +4455,7 @@
++ mb_clear_bits(NULL, bitmap_bh->b_data, bit, count);
+ gdp->bg_free_blocks_count =
+ cpu_to_le16(le16_to_cpu(gdp->bg_free_blocks_count) + count);
+ + gdp->bg_checksum = ext3_group_desc_csum(sbi, block_group, gdp);
+ spin_unlock(sb_bgl_lock(sbi, block_group));
+ percpu_counter_mod(&sbi->s_freeblocks_counter, count);
+
+-Index: linux-2.6.18-53.1.14/fs/ext3/balloc.c
++Index: linux-source-2.6.18/fs/ext3/balloc.c
+ ===================================================================
+---- linux-2.6.18-53.1.14.orig/fs/ext3/balloc.c
+-+++ linux-2.6.18-53.1.14/fs/ext3/balloc.c
++--- linux-source-2.6.18.orig/fs/ext3/balloc.c 2009-08-13 10:36:03.000000000 +0200
+++++ linux-source-2.6.18/fs/ext3/balloc.c 2009-08-13 10:36:33.000000000 +0200
+ @@ -20,6 +20,7 @@
+ #include <linux/quotaops.h>
+ #include <linux/buffer_head.h>
+@@ -572,7 +572,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/balloc.c
+ /*
+ * balloc.c contains the blocks allocation and deallocation routines
+ */
+-@@ -73,6 +74,83 @@ struct ext3_group_desc * ext3_get_group_
++@@ -73,6 +74,83 @@
+ return desc + offset;
+ }
+
+@@ -656,7 +656,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/balloc.c
+ /*
+ * Read the bitmap for a given block_group, reading into the specified
+ * slot in the superblock's bitmap cache.
+-@@ -88,7 +166,19 @@ read_block_bitmap(struct super_block *sb
++@@ -88,7 +166,19 @@
+ desc = ext3_get_group_desc (sb, block_group, NULL);
+ if (!desc)
+ goto error_out;
+@@ -677,7 +677,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/balloc.c
+ if (!bh)
+ ext3_error (sb, "read_block_bitmap",
+ "Cannot read block bitmap - "
+-@@ -467,6 +557,7 @@ do_more:
++@@ -467,6 +557,7 @@
+ desc->bg_free_blocks_count =
+ cpu_to_le16(le16_to_cpu(desc->bg_free_blocks_count) +
+ group_freed);
+@@ -685,7 +685,7 @@ Index: linux-2.6.18-53.1.14/fs/ext3/balloc.c
+ spin_unlock(sb_bgl_lock(sbi, block_group));
+ percpu_counter_mod(&sbi->s_freeblocks_counter, count);
+
+-@@ -1434,8 +1525,11 @@ allocated:
++@@ -1434,8 +1525,11 @@
+ ret_block, goal_hits, goal_attempts);
+
+ spin_lock(sb_bgl_lock(sbi, group_no));
--
Lustre Debian Packaging
More information about the Pkg-lustre-svn-commit
mailing list