Whamcloud - gitweb
LU-1477 kernel: Kernel update [RHEL6.3 2.6.32-279.2.1.el6]
[fs/lustre-release.git] / ldiskfs / kernel_patches / patches / ext4_pdirop-rhel6.patch
index c777a95..bd7ec3b 100644 (file)
        struct ext4_dir_entry_2 *de, *de2, *dot_de, *dotdot_de;
        char            *data1, *top;
 @@ -1517,7 +1867,7 @@ static int make_indexed_dir(handle_t *ha
-       frame->at = entries;
-       frame->bh = bh;
-       bh = bh2;
+       ext4_handle_dirty_metadata(handle, dir, frame->bh);
+       ext4_handle_dirty_metadata(handle, dir, bh);
+
 -      de = do_split(handle,dir, &bh, frame, &hinfo, &retval);
 +      de = do_split(handle,dir, &bh, frames, frame, &hinfo, NULL, &retval);
-       dx_release (frames);
-       if (!(de))
-               return retval;
+       if (!de) {
+               /*
+                * Even if the block split failed, we have to properly write
 @@ -1616,7 +1966,7 @@ out:
   * the entry, as someone else might have used it while you slept.
   */