[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