The following commit has been merged in the master branch:
commit cce630ef97fe8cadafb30edf777e1d3b6140d974
Author: Marco Nelles <marco.nel...@credativ.de>
Date:   Tue Jun 12 13:36:32 2012 +0200

    Adapted kernel patches from rhel6 series file

diff --git a/debian/linux-patch-lustre.kpatches 
b/debian/linux-patch-lustre.kpatches
deleted file mode 100644
index 0bf1ef0..0000000
--- a/debian/linux-patch-lustre.kpatches
+++ /dev/null
@@ -1,13 +0,0 @@
-Patch-name: Lustre Filesystem patch for the Linux kernel
-Patch-id: lustre
-Architecture: amd64, ia64, i386, powerpc
-Path-strip-level: 1
-
-Patch-file: debian/kpatches/patch-vanilla-2.6.18
-Kernel-version: 2.6.18
-
-Patch-file: debian/kpatches/patch-vanilla-2.6.20
-Kernel-version: 2.6.20
-
-Patch-file: debian/kpatches/patch-vanilla-2.6.21
-Kernel-version: 2.6.21
diff --git a/debian/rules b/debian/rules
index 1d982ce..1f5b0cb 100755
--- a/debian/rules
+++ b/debian/rules
@@ -101,7 +101,6 @@ binary-$(PATCH_PKG): patch-stamp
        dh_testroot
        dh_installdirs -p $(PATCH_PKG)
        dh_installdocs -p $(PATCH_PKG)
-#      dh_installkpatches -p $(PATCH_PKG)
        dh_install -p $(PATCH_PKG)
 
        # Install apply script
diff --git a/lustre/kernel_patches/patches/bh_lru_size_config.patch 
b/lustre/kernel_patches/patches/bh_lru_size_config-2.6.32-vanilla.patch
similarity index 95%
copy from lustre/kernel_patches/patches/bh_lru_size_config.patch
copy to lustre/kernel_patches/patches/bh_lru_size_config-2.6.32-vanilla.patch
index e84edba..d35d935 100644
--- a/lustre/kernel_patches/patches/bh_lru_size_config.patch
+++ b/lustre/kernel_patches/patches/bh_lru_size_config-2.6.32-vanilla.patch
@@ -1,6 +1,6 @@
 --- linux-2.6.32-131.6.1/fs/buffer.c
 +++ linux-2.6.32-131.6.1-pdo/fs/buffer.c
-@@ -1250,8 +1250,7 @@
+@@ -1249,8 +1249,7 @@
   * The LRUs themselves only need locking against invalidate_bh_lrus.  We use
   * a local interrupt disable for that.
   */
@@ -12,7 +12,7 @@
        struct buffer_head *bhs[BH_LRU_SIZE];
 --- linux-2.6.32-131.6.1/fs/Kconfig
 +++ linux-2.6.32-131.6.1-pdo/fs/Kconfig
-@@ -253,4 +253,13 @@
+@@ -254,4 +254,13 @@
  source "fs/nls/Kconfig"
  source "fs/dlm/Kconfig"
  
diff --git a/lustre/kernel_patches/patches/blkdev_tunables-2.6.32-vanilla.patch 
b/lustre/kernel_patches/patches/blkdev_tunables-2.6.32-vanilla.patch
new file mode 100644
index 0000000..179c8ff
--- /dev/null
+++ b/lustre/kernel_patches/patches/blkdev_tunables-2.6.32-vanilla.patch
@@ -0,0 +1,30 @@
+diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
+index 09beade..0970f13 100644
+--- a/include/linux/blkdev.h
++++ b/include/linux/blkdev.h
+@@ -1027,10 +1027,10 @@ static inline int sb_issue_discard(struct super_block 
*sb,
+ 
+ extern int blk_verify_command(unsigned char *cmd, fmode_t has_write_perm);
+ 
+-#define MAX_PHYS_SEGMENTS 128
++#define MAX_PHYS_SEGMENTS 256
+ #define MAX_HW_SEGMENTS 128
+ #define SAFE_MAX_SECTORS 255
+-#define BLK_DEF_MAX_SECTORS 1024
++#define BLK_DEF_MAX 2048
+ 
+ #define MAX_SEGMENT_SIZE      65536
+ 
+diff --git a/include/scsi/scsi.h b/include/scsi/scsi.h
+index 8b4deca..d8c12a4 100644
+--- a/include/scsi/scsi.h
++++ b/include/scsi/scsi.h
+@@ -19,7 +19,7 @@ struct scsi_cmnd;
+  * to SG_MAX_SINGLE_ALLOC to pack correctly at the highest order.  The
+  * minimum value is 32
+  */
+-#define SCSI_MAX_SG_SEGMENTS  128
++#define SCSI_MAX_SG_SEGMENTS  256
+ 
+ /*
+  * Like SCSI_MAX_SG_SEGMENTS, but for archs that have sg chaining. This limit
diff --git a/lustre/kernel_patches/patches/dev_read_only-2.6.27-vanilla.patch 
b/lustre/kernel_patches/patches/dev_read_only-2.6.32-vanilla.patch
similarity index 54%
copy from lustre/kernel_patches/patches/dev_read_only-2.6.27-vanilla.patch
copy to lustre/kernel_patches/patches/dev_read_only-2.6.32-vanilla.patch
index de7804d..54d2647 100644
--- a/lustre/kernel_patches/patches/dev_read_only-2.6.27-vanilla.patch
+++ b/lustre/kernel_patches/patches/dev_read_only-2.6.32-vanilla.patch
@@ -1,8 +1,8 @@
-Index: linux-2.6.27.21-0.1/block/blk-core.c
-===================================================================
---- linux-2.6.27.21-0.1.orig/block/blk-core.c  2009-04-23 02:12:51.000000000 
-0600
-+++ linux-2.6.27.21-0.1/block/blk-core.c       2009-05-22 08:38:02.000000000 
-0600
-@@ -1335,6 +1335,8 @@
+diff --git a/block/blk-core.c b/block/blk-core.c
+index cffd737..fab10d7 100644
+--- a/block/blk-core.c
++++ b/block/blk-core.c
+@@ -1350,6 +1350,8 @@ static inline int should_fail_request(struct bio *bio)
  
  #endif /* CONFIG_FAIL_MAKE_REQUEST */
  
@@ -11,46 +11,50 @@ Index: linux-2.6.27.21-0.1/block/blk-core.c
  /*
   * Check whether this bio extends beyond the end of the device.
   */
-@@ -1436,6 +1438,12 @@
- 
+@@ -1451,6 +1453,13 @@ static inline void __generic_make_request(struct bio 
*bio)
                if (unlikely(test_bit(QUEUE_FLAG_DEAD, &q->queue_flags)))
                        goto end_io;
-
-+               /* this is cfs's dev_rdonly check */
-+               if (bio_rw(bio) == WRITE && dev_check_rdonly(bio->bi_bdev)) {
-+                       bio_endio(bio, bio->bi_size, 0);
-+                       break;
-+               }
+ 
++              /* this is cfs's dev_rdonly check */
++              if (bio_rw(bio) == WRITE && dev_check_rdonly(bio->bi_bdev)) {
++                      err = 0;
++                      goto end_io;
++              }
++
 +
                if (should_fail_request(bio))
                        goto end_io;
-@@ -2189,6 +2197,91 @@
+ 
+@@ -2494,6 +2503,99 @@ int kblockd_schedule_work(struct request_queue *q, 
struct work_struct *work)
  }
- EXPORT_SYMBOL(kblockd_flush_work);
+ EXPORT_SYMBOL(kblockd_schedule_work);
  
-+ /*
-+ * Debug code for turning block devices "read-only" (will discard writes
-+ * silently).  This is for filesystem crash/recovery testing.
-+ */
++/*
++* Debug code for turning block devices "read-only" (will discard writes
++* silently).  This is for filesystem crash/recovery testing.
++*/
 +struct deventry {
 +      dev_t dev;
 +      struct deventry *next;
 +};
 +
 +static struct deventry *devlist = NULL;
-+static spinlock_t devlock = SPIN_LOCK_UNLOCKED; 
++static spinlock_t devlock = SPIN_LOCK_UNLOCKED;
 +
-+int dev_check_rdonly(struct block_device *bdev) 
++int dev_check_rdonly(struct block_device *bdev)
 +{
 +      struct deventry *cur;
-+      if (!bdev) return 0;
++      
++      if (!bdev)
++              return 0;
++              
 +      spin_lock(&devlock);
 +      cur = devlist;
 +      while(cur) {
 +              if (bdev->bd_dev == cur->dev) {
 +                      spin_unlock(&devlock);
 +                      return 1;
-+      }
++              }
 +              cur = cur->next;
 +      }
 +      spin_unlock(&devlock);
@@ -60,11 +64,12 @@ Index: linux-2.6.27.21-0.1/block/blk-core.c
 +void dev_set_rdonly(struct block_device *bdev)
 +{
 +      struct deventry *newdev, *cur;
-+
-+      if (!bdev) 
++      
++      if (!bdev)
 +              return;
++      
 +      newdev = kmalloc(sizeof(struct deventry), GFP_KERNEL);
-+      if (!newdev) 
++      if (!newdev)
 +              return;
 +      
 +      spin_lock(&devlock);
@@ -82,26 +87,29 @@ Index: linux-2.6.27.21-0.1/block/blk-core.c
 +      devlist = newdev;
 +      spin_unlock(&devlock);
 +      printk(KERN_WARNING "Turning device %s (%#x) read-only\n",
-+             bdev->bd_disk ? bdev->bd_disk->disk_name : "", bdev->bd_dev);
++              bdev->bd_disk ? bdev->bd_disk->disk_name : "", bdev->bd_dev);
 +}
 +
-+void dev_clear_rdonly(struct block_device *bdev) 
-+{
++void dev_clear_rdonly(struct block_device *bdev) {
 +      struct deventry *cur, *last = NULL;
-+      if (!bdev) return;
++      
++      if (!bdev)
++              return;
++              
 +      spin_lock(&devlock);
 +      cur = devlist;
 +      while(cur) {
 +              if (bdev->bd_dev == cur->dev) {
-+                      if (last) 
++                      if (last)
 +                              last->next = cur->next;
 +                      else
 +                              devlist = cur->next;
 +                      spin_unlock(&devlock);
 +                      kfree(cur);
 +                      printk(KERN_WARNING "Removing read-only on %s (%#x)\n",
-+                             bdev->bd_disk ? bdev->bd_disk->disk_name :
-+                                             "unknown block", bdev->bd_dev);
++                              bdev->bd_disk ? bdev->bd_disk->disk_name :
++                                              "unknown block",
++                              bdev->bd_dev);
 +                      return;
 +              }
 +              last = cur;
@@ -113,14 +121,15 @@ Index: linux-2.6.27.21-0.1/block/blk-core.c
 +EXPORT_SYMBOL(dev_set_rdonly);
 +EXPORT_SYMBOL(dev_clear_rdonly);
 +EXPORT_SYMBOL(dev_check_rdonly);
++
  int __init blk_dev_init(void)
  {
-       kblockd_workqueue = create_workqueue("kblockd");
-Index: linux-2.6.27.21-0.1/fs/block_dev.c
-===================================================================
---- linux-2.6.27.21-0.1.orig/fs/block_dev.c    2009-04-23 02:12:56.000000000 
-0600
-+++ linux-2.6.27.21-0.1/fs/block_dev.c 2009-05-22 08:38:02.000000000 -0600
-@@ -1208,6 +1208,7 @@
+       BUILD_BUG_ON(__REQ_NR_BITS > 8 *
+diff --git a/fs/block_dev.c b/fs/block_dev.c
+index e65efa2..cc3e14e 100644
+--- a/fs/block_dev.c
++++ b/fs/block_dev.c
+@@ -1373,6 +1373,7 @@ static int __blkdev_put(struct block_device *bdev, 
fmode_t mode, int for_part)
                if (bdev != bdev->bd_contains)
                        victim = bdev->bd_contains;
                bdev->bd_contains = NULL;
@@ -128,18 +137,18 @@ Index: linux-2.6.27.21-0.1/fs/block_dev.c
        }
        unlock_kernel();
        mutex_unlock(&bdev->bd_mutex);
-Index: linux-2.6.27.21-0.1/include/linux/fs.h
-===================================================================
---- linux-2.6.27.21-0.1.orig/include/linux/fs.h        2009-05-22 
08:38:00.000000000 -0600
-+++ linux-2.6.27.21-0.1/include/linux/fs.h     2009-05-22 08:38:02.000000000 
-0600
-@@ -1898,6 +1898,10 @@
+diff --git a/include/linux/fs.h b/include/linux/fs.h
+index 50b86a3..8e6a168 100644
+--- a/include/linux/fs.h
++++ b/include/linux/fs.h
+@@ -2204,6 +2204,10 @@ struct bio;
  extern void submit_bio(int, struct bio *);
  extern int bdev_read_only(struct block_device *);
  #endif
 +#define HAVE_CLEAR_RDONLY_ON_PUT
 +extern void dev_set_rdonly(struct block_device *bdev);
 +extern int dev_check_rdonly(struct block_device *bdev);
-+extern void dev_clear_rdonly(struct block_device *bdev);
++extern void dev_clear_rdonly(struct block_device *bdev)
  extern int set_blocksize(struct block_device *, int);
  extern int sb_set_blocksize(struct super_block *, int);
  extern int sb_min_blocksize(struct super_block *, int);
diff --git a/lustre/kernel_patches/patches/jbd2-jcberr-2.6-rhel6.patch 
b/lustre/kernel_patches/patches/jbd2-jcberr-2.6.32-vanilla.patch
similarity index 97%
copy from lustre/kernel_patches/patches/jbd2-jcberr-2.6-rhel6.patch
copy to lustre/kernel_patches/patches/jbd2-jcberr-2.6.32-vanilla.patch
index 310957b..ed41849 100644
--- a/lustre/kernel_patches/patches/jbd2-jcberr-2.6-rhel6.patch
+++ b/lustre/kernel_patches/patches/jbd2-jcberr-2.6.32-vanilla.patch
@@ -73,7 +73,7 @@ Index: linux+rh+chaos/include/linux/jbd2.h
   */
  
  struct transaction_s
-@@ -659,6 +690,16 @@ struct transaction_s
+@@ -660,6 +691,16 @@ struct transaction_s
         * structures associated with the transaction
         */
        struct list_head        t_private_list;
@@ -90,7 +90,7 @@ Index: linux+rh+chaos/include/linux/jbd2.h
  };
  
  struct transaction_run_stats_s {
-@@ -1115,6 +1156,9 @@ extern int        jbd2_journal_stop(handle_t *
+@@ -1116,6 +1157,9 @@ extern int        jbd2_journal_stop(handle_t *
  extern int     jbd2_journal_flush (journal_t *);
  extern void    jbd2_journal_lock_updates (journal_t *);
  extern void    jbd2_journal_unlock_updates (journal_t *);
@@ -104,7 +104,7 @@ Index: linux+rh+chaos/fs/jbd2/checkpoint.c
 ===================================================================
 --- linux+rh+chaos.orig/fs/jbd2/checkpoint.c
 +++ linux+rh+chaos/fs/jbd2/checkpoint.c
-@@ -759,6 +759,7 @@ void __jbd2_journal_drop_transaction(jou
+@@ -774,6 +774,7 @@ void __jbd2_journal_drop_transaction(jou
        J_ASSERT(transaction->t_checkpoint_list == NULL);
        J_ASSERT(transaction->t_checkpoint_io_list == NULL);
        J_ASSERT(transaction->t_updates == 0);
@@ -116,7 +116,7 @@ Index: linux+rh+chaos/fs/jbd2/commit.c
 ===================================================================
 --- linux+rh+chaos.orig/fs/jbd2/commit.c
 +++ linux+rh+chaos/fs/jbd2/commit.c
-@@ -857,6 +857,30 @@ wait_for_iobuf:
+@@ -860,6 +860,30 @@ wait_for_iobuf:
             transaction can be removed from any checkpoint list it was on
             before. */
  
diff --git a/lustre/kernel_patches/patches/mpt-fusion-max-sge-rhel6.patch 
b/lustre/kernel_patches/patches/mpt-fusion-max-sge-2.6.32-vanilla.patch
similarity index 100%
copy from lustre/kernel_patches/patches/mpt-fusion-max-sge-rhel6.patch
copy to lustre/kernel_patches/patches/mpt-fusion-max-sge-2.6.32-vanilla.patch
diff --git 
a/lustre/kernel_patches/patches/raid5-mmp-unplug-dev-2.6.32-vanilla.patch 
b/lustre/kernel_patches/patches/raid5-mmp-unplug-dev-2.6.32-vanilla.patch
new file mode 100644
index 0000000..05f92c8
--- /dev/null
+++ b/lustre/kernel_patches/patches/raid5-mmp-unplug-dev-2.6.32-vanilla.patch
@@ -0,0 +1,24 @@
+diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c
+index 883215d..4f27b2a 100644
+--- a/drivers/md/raid5.c
++++ b/drivers/md/raid5.c
+@@ -2097,6 +2097,8 @@ static int add_stripe_bio(struct stripe_head *sh, struct 
bio *bi, int dd_idx, in
+               bi->bi_next = *bip;
+       *bip = bi;
+       bi->bi_phys_segments++;
++      if (bio_rw_flagged(bi, BIO_RW_SYNCIO) && !forwrite)
++              clear_bit(R5_UPTODATE, &sh->dev[dd_idx].flags); /* force to 
read from disk. */
+       spin_unlock_irq(&conf->device_lock);
+       spin_unlock(&sh->lock);
+ 
+@@ -4013,6 +4015,10 @@ static int make_request(struct request_queue *q, struct 
bio * bi)
+ 
+               bio_endio(bi, 0);
+       }
++
++      if (bio_rw_flagged(bi, BIO_RW_SYNCIO))
++              md_raid5_unplug_device(conf);
++
+       return 0;
+ }
+ 
diff --git a/lustre/kernel_patches/patches/vfs_races-2.6.32-vanilla.patch 
b/lustre/kernel_patches/patches/vfs_races-2.6.32-vanilla.patch
new file mode 100644
index 0000000..4cd09d1
--- /dev/null
+++ b/lustre/kernel_patches/patches/vfs_races-2.6.32-vanilla.patch
@@ -0,0 +1,31 @@
+diff --git a/fs/dcache.c b/fs/dcache.c
+index 44c0aea..bcd33da 100644
+--- a/fs/dcache.c
++++ b/fs/dcache.c
+@@ -280,6 +280,13 @@ int d_invalidate(struct dentry * dentry)
+               spin_unlock(&dcache_lock);
+               return 0;
+       }
++
++      /* network invalidation by Lustre */
++      if (dentry->d_flags & DCACHE_LUSTRE_INVALID) {
++              spin_unlock(&dcache_lock);
++              return 0;
++      }
++
+       /*
+        * Check whether to do a partial shrink_dcache
+        * to get rid of unused child entries.
+diff --git a/include/linux/dcache.h b/include/linux/dcache.h
+index 30b93b2..6ae16f9 100644
+--- a/include/linux/dcache.h
++++ b/include/linux/dcache.h
+@@ -186,6 +186,8 @@ d_iput:            no              no              no      
 yes
+ 
+ #define DCACHE_FSNOTIFY_PARENT_WATCHED        0x0080 /* Parent inode is 
watched by some fsnotify listener */
+ 
++#define DCACHE_LUSTRE_INVALID  0x4000000  /* Lustre invalidated */
++
+ extern spinlock_t dcache_lock;
+ extern seqlock_t rename_lock;
+ 
diff --git a/lustre/kernel_patches/series/2.6.32-vanilla.series 
b/lustre/kernel_patches/series/2.6.32-vanilla.series
new file mode 100644
index 0000000..339372d
--- /dev/null
+++ b/lustre/kernel_patches/series/2.6.32-vanilla.series
@@ -0,0 +1,9 @@
+lustre_version.patch
+mpt-fusion-max-sge-2.6.32-vanilla.patch
+raid5-mmp-unplug-dev-2.6.32-vanilla.patch
+vfs_races-2.6.32-vanilla.patch
+dev_read_only-2.6.32-vanilla.patch
+blkdev_tunables-2.6.32-vanilla.patch
+export-2.6.32-vanilla.patch
+jbd2-jcberr-2.6.32-vanilla.patch
+bh_lru_size_config-2.6.32-vanilla.patch

-- 
Lustre Debian Packaging 

_______________________________________________
Pkg-lustre-svn-commit mailing list
Pkg-lustre-svn-commit@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-lustre-svn-commit

Reply via email to