diff options
author | Christoph Hellwig <hch@sgi.com> | 2005-06-21 01:41:19 -0400 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-06-21 01:41:19 -0400 |
commit | 7d795ca3442c7a562c45aeb7a7a808c79992a589 (patch) | |
tree | b18bf1ccbca3cb59b9fb31d0072de24c276aba9f /fs/xfs/xfs_log_recover.c | |
parent | f898d6c09caa40d82203acd72e9fda3cd5aeae74 (diff) |
[XFS] consolidate extent item freeing
SGI-PV: 938062
SGI-Modid: xfs-linux:xfs-kern:194415a
Signed-off-by: Christoph Hellwig <hch@sgi.com>
Signed-off-by: Nathan Scott <nathans@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_log_recover.c')
-rw-r--r-- | fs/xfs/xfs_log_recover.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/fs/xfs/xfs_log_recover.c b/fs/xfs/xfs_log_recover.c index 91d764a5a9b2..0aac28ddb81c 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c | |||
@@ -2747,7 +2747,6 @@ xlog_recover_do_efd_trans( | |||
2747 | xfs_efi_log_item_t *efip = NULL; | 2747 | xfs_efi_log_item_t *efip = NULL; |
2748 | xfs_log_item_t *lip; | 2748 | xfs_log_item_t *lip; |
2749 | int gen; | 2749 | int gen; |
2750 | int nexts; | ||
2751 | __uint64_t efi_id; | 2750 | __uint64_t efi_id; |
2752 | SPLDECL(s); | 2751 | SPLDECL(s); |
2753 | 2752 | ||
@@ -2782,22 +2781,15 @@ xlog_recover_do_efd_trans( | |||
2782 | } | 2781 | } |
2783 | lip = xfs_trans_next_ail(mp, lip, &gen, NULL); | 2782 | lip = xfs_trans_next_ail(mp, lip, &gen, NULL); |
2784 | } | 2783 | } |
2785 | if (lip == NULL) { | ||
2786 | AIL_UNLOCK(mp, s); | ||
2787 | } | ||
2788 | 2784 | ||
2789 | /* | 2785 | /* |
2790 | * If we found it, then free it up. If it wasn't there, it | 2786 | * If we found it, then free it up. If it wasn't there, it |
2791 | * must have been overwritten in the log. Oh well. | 2787 | * must have been overwritten in the log. Oh well. |
2792 | */ | 2788 | */ |
2793 | if (lip != NULL) { | 2789 | if (lip != NULL) { |
2794 | nexts = efip->efi_format.efi_nextents; | 2790 | xfs_efi_item_free(efip); |
2795 | if (nexts > XFS_EFI_MAX_FAST_EXTENTS) { | 2791 | } else { |
2796 | kmem_free(lip, sizeof(xfs_efi_log_item_t) + | 2792 | AIL_UNLOCK(mp, s); |
2797 | ((nexts - 1) * sizeof(xfs_extent_t))); | ||
2798 | } else { | ||
2799 | kmem_zone_free(xfs_efi_zone, efip); | ||
2800 | } | ||
2801 | } | 2793 | } |
2802 | } | 2794 | } |
2803 | 2795 | ||