summaryrefslogtreecommitdiff
path: root/fs/xfs/libxfs/xfs_bmap.c
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2015-10-12 10:37:58 +0300
committerDave Chinner <david@fromorbit.com>2015-10-12 10:37:58 +0300
commit316433beda9433697109eb1cd256666f163c7c1f (patch)
tree14dc948e98bf1d5a1bbbe86cffb7da9a2952325b /fs/xfs/libxfs/xfs_bmap.c
parent9e92054e8e049f8f4c64d2c6961b2a7e3e13977f (diff)
parent91f9f5fe1e7350e872b3fbc3194e8183bddce514 (diff)
downloadlinux-316433beda9433697109eb1cd256666f163c7c1f.tar.xz
Merge branch 'xfs-logging-fixes' into for-next
Diffstat (limited to 'fs/xfs/libxfs/xfs_bmap.c')
-rw-r--r--fs/xfs/libxfs/xfs_bmap.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/fs/xfs/libxfs/xfs_bmap.c b/fs/xfs/libxfs/xfs_bmap.c
index 5256fe59623b..ab92d10890ed 100644
--- a/fs/xfs/libxfs/xfs_bmap.c
+++ b/fs/xfs/libxfs/xfs_bmap.c
@@ -948,14 +948,16 @@ xfs_bmap_local_to_extents(
bp = xfs_btree_get_bufl(args.mp, tp, args.fsbno, 0);
/*
- * Initialise the block and copy the data
+ * Initialize the block, copy the data and log the remote buffer.
*
- * Note: init_fn must set the buffer log item type correctly!
+ * The callout is responsible for logging because the remote format
+ * might differ from the local format and thus we don't know how much to
+ * log here. Note that init_fn must also set the buffer log item type
+ * correctly.
*/
init_fn(tp, bp, ip, ifp);
- /* account for the change in fork size and log everything */
- xfs_trans_log_buf(tp, bp, 0, ifp->if_bytes - 1);
+ /* account for the change in fork size */
xfs_idata_realloc(ip, -ifp->if_bytes, whichfork);
xfs_bmap_local_to_extents_empty(ip, whichfork);
flags |= XFS_ILOG_CORE;