summaryrefslogtreecommitdiff
path: root/fs/xfs/xfs_iops.c
diff options
context:
space:
mode:
authorDave Chinner <david@fromorbit.com>2016-08-17 11:13:37 +1000
committerDave Chinner <david@fromorbit.com>2016-08-17 11:13:37 +1000
commit32438cf9d54bd53b531f6d98814e84dd278360c1 (patch)
tree5c6d82509d1f97edc172fcbbd4f2634df12d8436 /fs/xfs/xfs_iops.c
parenta03f1a6633144300ef4a3a33e95dfa11866f1299 (diff)
parent1d4795e7bde075588c90df2175349bb2251802d5 (diff)
Merge branch 'iomap-fixes-4.8-rc3' into for-nextxfs-iomap-for-linus-4.8-rc3
Diffstat (limited to 'fs/xfs/xfs_iops.c')
-rw-r--r--fs/xfs/xfs_iops.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/xfs/xfs_iops.c b/fs/xfs/xfs_iops.c
index ab820f84ed50..b24c3102fa93 100644
--- a/fs/xfs/xfs_iops.c
+++ b/fs/xfs/xfs_iops.c
@@ -1009,7 +1009,14 @@ xfs_vn_fiemap(
int error;
xfs_ilock(XFS_I(inode), XFS_IOLOCK_SHARED);
- error = iomap_fiemap(inode, fieinfo, start, length, &xfs_iomap_ops);
+ if (fieinfo->fi_flags & FIEMAP_FLAG_XATTR) {
+ fieinfo->fi_flags &= ~FIEMAP_FLAG_XATTR;
+ error = iomap_fiemap(inode, fieinfo, start, length,
+ &xfs_xattr_iomap_ops);
+ } else {
+ error = iomap_fiemap(inode, fieinfo, start, length,
+ &xfs_iomap_ops);
+ }
xfs_iunlock(XFS_I(inode), XFS_IOLOCK_SHARED);
return error;