X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=blobdiff_plain;f=ldiskfs%2Fkernel_patches%2Fpatches%2Fubuntu14%2B16%2Fext4-pdirop.patch;fp=ldiskfs%2Fkernel_patches%2Fpatches%2Fubuntu14%2B16%2Fext4-pdirop.patch;h=71b27381df60fae5966d92e29473d5f8953bbdaa;hp=508e3969d87265904bf67619a21401cc42c1c4fa;hb=ec7a166a498be607c3882ff11e98b625839e69d0;hpb=053785b6aea4f608236418a5fa30a99135f6ccf3 diff --git a/ldiskfs/kernel_patches/patches/ubuntu14+16/ext4-pdirop.patch b/ldiskfs/kernel_patches/patches/ubuntu14+16/ext4-pdirop.patch index 508e396..71b2738 100644 --- a/ldiskfs/kernel_patches/patches/ubuntu14+16/ext4-pdirop.patch +++ b/ldiskfs/kernel_patches/patches/ubuntu14+16/ext4-pdirop.patch @@ -1668,7 +1668,7 @@ index 3f70bca..99a8da2 100644 dx_get_limit((frame - 1)->entries)) { @@ -2474,8 +2820,32 @@ again: restart = 1; - goto cleanup; + goto journal_error; } + } else if (!ext4_htree_dx_locked(lck)) { + struct ext4_dir_lock_data *ld = ext4_htree_lock_data(lck); @@ -1702,7 +1702,7 @@ index 3f70bca..99a8da2 100644 goto cleanup; @@ -2486,6 +2856,8 @@ again: journal_error: - ext4_std_error(dir->i_sb, err); + ext4_std_error(dir->i_sb, err); /* this is a no-op if err == 0 */ cleanup: + ext4_htree_dx_unlock(lck); + ext4_htree_de_unlock(lck);