Whamcloud - gitweb
LU-2880 ldiskfs: Added mount option to enable dirdata.
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / sles11sp2 / ext4-data-in-dirent.patch
index 973ccad..ac76bf9 100644 (file)
@@ -18,7 +18,7 @@
                return DT_UNKNOWN;
  
 -      return (ext4_filetype_table[filetype]);
-+      if (!EXT4_HAS_INCOMPAT_FEATURE(sb, EXT4_FEATURE_INCOMPAT_DIRDATA))
++      if (!test_opt(sb, DIRDATA))
 +              return (ext4_filetype_table[fl_index]);
 +
 +      return (ext4_filetype_table[fl_index]) |
        while (*p) {
 --- a/fs/ext4/ext4.h
 +++ b/fs/ext4/ext4.h
+@@ -902,6 +902,7 @@ struct ext4_inode_info {
+ #define EXT4_MOUNT_ERRORS_PANIC               0x00040 /* Panic on errors */
+ #define EXT4_MOUNT_MINIX_DF           0x00080 /* Mimics the Minix statfs */
+ #define EXT4_MOUNT_NOLOAD             0x00100 /* Don't use existing journal*/
++#define EXT4_MOUNT_DIRDATA            0x00200 /* Data in directory entries */
+ #define EXT4_MOUNT_DATA_FLAGS         0x00C00 /* Mode for data writes: */
+ #define EXT4_MOUNT_JOURNAL_DATA               0x00400 /* Write data to journal */
+ #define EXT4_MOUNT_ORDERED_DATA               0x00800 /* Flush data before commit */
 @@ -1414,7 +1414,9 @@ static inline void ext4_clear_state_flag
                                         EXT4_FEATURE_INCOMPAT_EXTENTS| \
                                         EXT4_FEATURE_INCOMPAT_64BIT| \
            !(bh = ext4_bread(NULL, inode, 0, 0, &err))) {
                if (err)
                        EXT4_ERROR_INODE(inode,
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -1363,7 +1363,7 @@ enum {
+       Opt_data_err_abort, Opt_data_err_ignore,
+       Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
+       Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_jqfmt_vfsv1, Opt_quota,
+-      Opt_iopen, Opt_noiopen, Opt_iopen_nopriv,
++      Opt_iopen, Opt_noiopen, Opt_iopen_nopriv, Opt_dirdata,
+       Opt_noquota, Opt_ignore, Opt_barrier, Opt_nobarrier, Opt_err,
+       Opt_resize, Opt_usrquota, Opt_grpquota, Opt_i_version,
+       Opt_stripe, Opt_delalloc, Opt_nodelalloc, Opt_mblk_io_submit,
+@@ -1427,6 +1427,7 @@ static const match_table_t tokens = {
+       {Opt_iopen, "iopen"},
+       {Opt_noiopen, "noiopen"},
+       {Opt_iopen_nopriv, "iopen_nopriv"},
++      {Opt_dirdata, "dirdata"},
+       {Opt_barrier, "barrier=%u"},
+       {Opt_barrier, "barrier"},
+       {Opt_nobarrier, "nobarrier"},
+@@ -1840,6 +1841,9 @@ set_qf_format:
+               case Opt_noiopen:
+               case Opt_iopen_nopriv:
+                       break;
++              case Opt_dirdata:
++                      set_opt(sb, DIRDATA);
++                      break;
+               case Opt_ignore:
+                       break;
+               case Opt_resize: