Whamcloud - gitweb
LU-2072 ldiskfs: Leak of s_mb_prealloc_table in ldiskfs
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / ext4-misc-rhel6.patch
index f25ba7e..f84dda6 100644 (file)
@@ -39,15 +39,7 @@ Index: linux-stage/fs/ext4/ext4_extents.h
  
  /*
   * ext4_inode has i_block array (60 bytes total).
-@@ -160,6 +166,7 @@ typedef int (*ext_prepare_callback)(stru
- #define EXT_INIT_MAX_LEN      (1UL << 15)
- #define EXT_UNINIT_MAX_LEN    (EXT_INIT_MAX_LEN - 1)
-+#define EXT4_EXT_HAS_NO_TREE  /* ext4_extents_tree struct is not used*/
- #define EXT_FIRST_EXTENT(__hdr__) \
-       ((struct ext4_extent *) (((char *) (__hdr__)) +         \
-@@ -239,6 +246,8 @@ extern int ext4_extent_tree_init(handle_
+@@ -239,6 +245,8 @@ extern int ext4_extent_tree_init(handle_
  extern int ext4_ext_calc_credits_for_single_extent(struct inode *inode,
                                                   int num,
                                                   struct ext4_ext_path *path);
@@ -107,7 +99,7 @@ Index: linux-stage/fs/ext4/extents.c
 +
 +      if (path) {
 +              /* probably there is space in leaf? */
-+              depth = ext_depth(inode);
++              depth = path->p_depth;
 +              if (le16_to_cpu(path[depth].p_hdr->eh_entries)
 +                              < le16_to_cpu(path[depth].p_hdr->eh_max))
 +                      return 1;
@@ -205,30 +197,29 @@ Index: linux-stage/fs/ext4/super.c
  
  void ext4_block_bitmap_set(struct super_block *sb,
                           struct ext4_group_desc *bg, ext4_fsblk_t blk)
-@@ -1500,11 +1501,13 @@ enum {
-       Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
-       Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
-       Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err,
+@@ -1500,10 +1501,12 @@ enum {
+        Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
+       Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
+       Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err,
 +      Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
-       Opt_resize, Opt_usrquota, Opt_grpquota, Opt_i_version,
+       Opt_resize, Opt_usrquota, Opt_grpquota, Opt_i_version,
        Opt_stripe, Opt_delalloc, Opt_nodelalloc,
        Opt_block_validity, Opt_noblock_validity,
        Opt_inode_readahead_blks, Opt_journal_ioprio,
-       Opt_discard, Opt_nodiscard,
 +      Opt_mballoc,
+       Opt_discard, Opt_nodiscard,
+       Opt_init_inode_table, Opt_noinit_inode_table,
  };
- static const match_table_t tokens = {
-@@ -1556,6 +1559,9 @@ static const match_table_t tokens = {
-       {Opt_noquota, "noquota"},
-       {Opt_quota, "quota"},
-       {Opt_usrquota, "usrquota"},
+@@ -1556,6 +1559,9 @@ static const match_table_t tokens = {             
+       {Opt_noquota, "noquota"},
+       {Opt_quota, "quota"},
+       {Opt_usrquota, "usrquota"},
 +      {Opt_iopen, "iopen"},
 +      {Opt_noiopen, "noiopen"},
 +      {Opt_iopen_nopriv, "iopen_nopriv"},
-       {Opt_barrier, "barrier=%u"},
-       {Opt_barrier, "barrier"},
-       {Opt_nobarrier, "nobarrier"},
+       {Opt_barrier, "barrier=%u"},
+       {Opt_barrier, "barrier"},
+       {Opt_nobarrier, "nobarrier"},
 @@ -1571,6 +1577,7 @@ static const match_table_t tokens = {
        {Opt_auto_da_alloc, "auto_da_alloc=%u"},
        {Opt_auto_da_alloc, "auto_da_alloc"},
@@ -237,7 +228,7 @@ Index: linux-stage/fs/ext4/super.c
        {Opt_discard, "discard"},
        {Opt_nodiscard, "nodiscard"},
        {Opt_err, NULL},
-@@ -1928,6 +1935,10 @@ set_qf_format:
+@@ -1928,6 +1935,10 @@ set_qf_format:           
                        else
                                clear_opt(sbi->s_mount_opt, BARRIER);
                        break;