aboutsummaryrefslogtreecommitdiffstats
path: root/fs/xfs/xfs_trans.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@infradead.org>2011-09-19 14:55:51 +0000
committerAlex Elder <aelder@sgi.com>2011-10-11 21:15:08 -0500
commitb10370585349d364ff3c550afa7922e6e21f029d (patch)
tree23996ee7961fc5595d72c5e149a4250c444356f4 /fs/xfs/xfs_trans.h
parent815cb21662b914e1e14c256a3d662b1352c8509e (diff)
downloadkernel_samsung_smdk4412-b10370585349d364ff3c550afa7922e6e21f029d.zip
kernel_samsung_smdk4412-b10370585349d364ff3c550afa7922e6e21f029d.tar.gz
kernel_samsung_smdk4412-b10370585349d364ff3c550afa7922e6e21f029d.tar.bz2
xfs: unlock the inode before log force in xfs_fsync
Only read the LSN we need to push to with the ilock held, and then release it before we do the log force to improve concurrency. This also removes the only direct caller of _xfs_trans_commit, thus allowing it to be merged into the plain xfs_trans_commit again. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
Diffstat (limited to 'fs/xfs/xfs_trans.h')
-rw-r--r--fs/xfs/xfs_trans.h5
1 files changed, 1 insertions, 4 deletions
diff --git a/fs/xfs/xfs_trans.h b/fs/xfs/xfs_trans.h
index 06a9759..54b0b1c 100644
--- a/fs/xfs/xfs_trans.h
+++ b/fs/xfs/xfs_trans.h
@@ -487,10 +487,7 @@ void xfs_trans_log_efd_extent(xfs_trans_t *,
struct xfs_efd_log_item *,
xfs_fsblock_t,
xfs_extlen_t);
-int _xfs_trans_commit(xfs_trans_t *,
- uint flags,
- int *);
-#define xfs_trans_commit(tp, flags) _xfs_trans_commit(tp, flags, NULL)
+int xfs_trans_commit(xfs_trans_t *, uint flags);
void xfs_trans_cancel(xfs_trans_t *, int);
int xfs_trans_ail_init(struct xfs_mount *);
void xfs_trans_ail_destroy(struct xfs_mount *);