diff options
author | Dave Chinner <dchinner@redhat.com> | 2015-01-21 23:30:06 +0100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2015-01-21 23:30:06 +0100 |
commit | fe22d552b82d7cc7de1851233ae8bef579198637 (patch) | |
tree | 106482e8bd9a8567a0754c59d5fc38d3cb9a577b /fs/xfs/libxfs/xfs_symlink_remote.c | |
parent | xfs: inode unlink does not set AGI buffer type (diff) | |
download | linux-fe22d552b82d7cc7de1851233ae8bef579198637.tar.xz linux-fe22d552b82d7cc7de1851233ae8bef579198637.zip |
xfs: set buf types when converting extent formats
Conversion from local to extent format does not set the buffer type
correctly on the new extent buffer when a symlink data is moved out
of line.
Fix the symlink code and leave a comment in the generic bmap code
reminding us that the format-specific data copy needs to set the
destination buffer type appropriately.
cc: <stable@vger.kernel.org> # 3.10 to current
Tested-by: Jan Kara <jack@suse.cz>
Signed-off-by: Dave Chinner <dchinner@redhat.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Diffstat (limited to 'fs/xfs/libxfs/xfs_symlink_remote.c')
-rw-r--r-- | fs/xfs/libxfs/xfs_symlink_remote.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/xfs/libxfs/xfs_symlink_remote.c b/fs/xfs/libxfs/xfs_symlink_remote.c index c80c5236c3da..e7e26bd6468f 100644 --- a/fs/xfs/libxfs/xfs_symlink_remote.c +++ b/fs/xfs/libxfs/xfs_symlink_remote.c @@ -178,6 +178,8 @@ xfs_symlink_local_to_remote( struct xfs_mount *mp = ip->i_mount; char *buf; + xfs_trans_buf_set_type(tp, bp, XFS_BLFT_SYMLINK_BUF); + if (!xfs_sb_version_hascrc(&mp->m_sb)) { bp->b_ops = NULL; memcpy(bp->b_addr, ifp->if_u1.if_data, ifp->if_bytes); |