diff options
author | Christoph Hellwig <hch@sgi.com> | 2005-06-21 15:41:19 +1000 |
---|---|---|
committer | Nathan Scott <nathans@sgi.com> | 2005-06-21 15:41:19 +1000 |
commit | 7d795ca3442c7a562c45aeb7a7a808c79992a589 (patch) | |
tree | b18bf1ccbca3cb59b9fb31d0072de24c276aba9f /fs/xfs/xfs_log_recover.c | |
parent | f898d6c09caa40d82203acd72e9fda3cd5aeae74 (diff) | |
download | op-kernel-dev-7d795ca3442c7a562c45aeb7a7a808c79992a589.zip op-kernel-dev-7d795ca3442c7a562c45aeb7a7a808c79992a589.tar.gz |
[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 91d764a..0aac28d 100644 --- a/fs/xfs/xfs_log_recover.c +++ b/fs/xfs/xfs_log_recover.c @@ -2747,7 +2747,6 @@ xlog_recover_do_efd_trans( xfs_efi_log_item_t *efip = NULL; xfs_log_item_t *lip; int gen; - int nexts; __uint64_t efi_id; SPLDECL(s); @@ -2782,22 +2781,15 @@ xlog_recover_do_efd_trans( } lip = xfs_trans_next_ail(mp, lip, &gen, NULL); } - if (lip == NULL) { - AIL_UNLOCK(mp, s); - } /* * If we found it, then free it up. If it wasn't there, it * must have been overwritten in the log. Oh well. */ if (lip != NULL) { - nexts = efip->efi_format.efi_nextents; - if (nexts > XFS_EFI_MAX_FAST_EXTENTS) { - kmem_free(lip, sizeof(xfs_efi_log_item_t) + - ((nexts - 1) * sizeof(xfs_extent_t))); - } else { - kmem_zone_free(xfs_efi_zone, efip); - } + xfs_efi_item_free(efip); + } else { + AIL_UNLOCK(mp, s); } } |