Whamcloud - gitweb
LU-12477 ldiskfs: remove obsolete ext4 patches
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / sles11sp2 / ext4-store-tree-generation-at-find.patch
diff --git a/ldiskfs/kernel_patches/patches/sles11sp2/ext4-store-tree-generation-at-find.patch b/ldiskfs/kernel_patches/patches/sles11sp2/ext4-store-tree-generation-at-find.patch
deleted file mode 100644 (file)
index e15fc03..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-diff -u -r linux-stage.orig/fs/ext4/ext4_extents.h linux-stage/fs/ext4/ext4_extents.h
---- linux-stage.orig/fs/ext4/ext4_extents.h    2013-01-02 10:14:02.000000000 -0500
-+++ linux-stage/fs/ext4/ext4_extents.h 2013-01-02 10:14:14.000000000 -0500
-@@ -113,6 +113,7 @@
-  * Truncate uses it to simulate recursive walking.
-  */
- struct ext4_ext_path {
-+      unsigned long                   p_generation;
-       ext4_fsblk_t                    p_block;
-       __u16                           p_depth;
-       struct ext4_extent              *p_ext;
-diff -u -r linux-stage.orig/fs/ext4/extents.c linux-stage/fs/ext4/extents.c
---- linux-stage.orig/fs/ext4/extents.c 2013-01-02 10:14:02.000000000 -0500
-+++ linux-stage/fs/ext4/extents.c      2013-01-02 10:16:57.000000000 -0500
-@@ -1882,7 +1882,7 @@
- {
-       struct ext4_ext_path *path = NULL;
-       struct ext4_ext_cache cbex;
--      struct ext4_extent *ex;
-+      struct ext4_extent _ex, *ex;
-       ext4_lblk_t next, start = 0, end = 0;
-       ext4_lblk_t last = block + num;
-       int depth, exists, err = 0;
-@@ -1895,21 +1895,29 @@
-               /* find extent for this block */
-               down_read(&EXT4_I(inode)->i_data_sem);
-               path = ext4_ext_find_extent(inode, block, path);
--              up_read(&EXT4_I(inode)->i_data_sem);
-               if (IS_ERR(path)) {
-+                      up_read(&EXT4_I(inode)->i_data_sem);
-                       err = PTR_ERR(path);
-                       path = NULL;
-                       break;
-               }
-
-+              path[0].p_generation = EXT4_I(inode)->i_ext_generation;
-+
-               depth = ext_depth(inode);
-               if (unlikely(path[depth].p_hdr == NULL)) {
-+                      up_read(&EXT4_I(inode)->i_data_sem);
-                       EXT4_ERROR_INODE(inode, "path[%d].p_hdr == NULL", depth);
-                       err = -EIO;
-                       break;
-               }
--              ex = path[depth].p_ext;
-+              ex = NULL;
-+              if (path[depth].p_ext) {
-+                      _ex = *path[depth].p_ext;
-+                      ex = &_ex;
-+              }
-               next = ext4_ext_next_allocated_block(path);
-+              up_read(&EXT4_I(inode)->i_data_sem);
-
-               exists = 0;
-               if (!ex) {
-@@ -1961,7 +1969,7 @@
-                       err = -EIO;
-                       break;
-               }
--              err = func(inode, path, &cbex, ex, cbdata);
-+              err = func(inode, path, &cbex, NULL, cbdata);
-               ext4_ext_drop_refs(path);
-
-               if (err < 0)