summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_extfree_item.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-27 05:54:33 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-05-27 05:54:33 +0400
commit829455bb0e994373519e3c58d403fc1148f44630 (patch)
tree7e4a250eb8208e2a7fa2787b03d2cf989a8ccc5a /fs/xfs/xfs_extfree_item.c
parent42b4212baa28ebb07147c1de3990c596e7612e97 (diff)
parente4aa937ec75df0eea0bee03bffa3303ad36c986b (diff)
downloadlinux-829455bb0e994373519e3c58d403fc1148f44630.tar.xz
Merge 3.10-rc3 into staging-next
We want the changes here, and we resolve the merge conflict that was happening in the nvec_kbd.c file. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs/xfs/xfs_extfree_item.c')
-rw-r--r--fs/xfs/xfs_extfree_item.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/xfs/xfs_extfree_item.c b/fs/xfs/xfs_extfree_item.c
index c0f375087efc..452920a3f03f 100644
--- a/fs/xfs/xfs_extfree_item.c
+++ b/fs/xfs/xfs_extfree_item.c
@@ -305,11 +305,12 @@ xfs_efi_release(xfs_efi_log_item_t *efip,
{
ASSERT(atomic_read(&efip->efi_next_extent) >= nextents);
if (atomic_sub_and_test(nextents, &efip->efi_next_extent)) {
- __xfs_efi_release(efip);
-
/* recovery needs us to drop the EFI reference, too */
if (test_bit(XFS_EFI_RECOVERED, &efip->efi_flags))
__xfs_efi_release(efip);
+
+ __xfs_efi_release(efip);
+ /* efip may now have been freed, do not reference it again. */
}
}