summaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_icreate_item.c
diff options
context:
space:
mode:
authorDave Chinner <dchinner@redhat.com>2013-08-12 12:50:04 +0200
committerBen Myers <bpm@sgi.com>2013-08-13 23:10:21 +0200
commit166d13688a0e2d0aa379e259af8e2ee6a401de9a (patch)
tree2f30092475185ee80d941e0be7689a0f5151be9f /fs/xfs/xfs_icreate_item.c
parentxfs:free bp in xlog_find_tail() error path (diff)
downloadlinux-166d13688a0e2d0aa379e259af8e2ee6a401de9a.tar.xz
linux-166d13688a0e2d0aa379e259af8e2ee6a401de9a.zip
xfs: return log item size in IOP_SIZE
To begin optimising the CIL commit process, we need to have IOP_SIZE return both the number of vectors and the size of the data pointed to by the vectors. This enables us to calculate the size ofthe memory allocation needed before the formatting step and reduces the number of memory allocations per item by one. While there, kill the IOP_SIZE macro. Signed-off-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_icreate_item.c')
-rw-r--r--fs/xfs/xfs_icreate_item.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/xfs/xfs_icreate_item.c b/fs/xfs/xfs_icreate_item.c
index 441a78a89901..5a5a593994d4 100644
--- a/fs/xfs/xfs_icreate_item.c
+++ b/fs/xfs/xfs_icreate_item.c
@@ -40,11 +40,14 @@ static inline struct xfs_icreate_item *ICR_ITEM(struct xfs_log_item *lip)
*
* We only need one iovec for the icreate log structure.
*/
-STATIC uint
+STATIC void
xfs_icreate_item_size(
- struct xfs_log_item *lip)
+ struct xfs_log_item *lip,
+ int *nvecs,
+ int *nbytes)
{
- return 1;
+ *nvecs += 1;
+ *nbytes += sizeof(struct xfs_icreate_log);
}
/*