diff options
Diffstat (limited to 'fs/xfs/xfs_aops.c')
-rw-r--r-- | fs/xfs/xfs_aops.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/xfs/xfs_aops.c b/fs/xfs/xfs_aops.c index 631e7c0e0a29..1ff9df7a3ce8 100644 --- a/fs/xfs/xfs_aops.c +++ b/fs/xfs/xfs_aops.c | |||
@@ -481,6 +481,12 @@ xfs_submit_ioend( | |||
481 | struct xfs_ioend *ioend, | 481 | struct xfs_ioend *ioend, |
482 | int status) | 482 | int status) |
483 | { | 483 | { |
484 | /* Convert CoW extents to regular */ | ||
485 | if (!status && ioend->io_type == XFS_IO_COW) { | ||
486 | status = xfs_reflink_convert_cow(XFS_I(ioend->io_inode), | ||
487 | ioend->io_offset, ioend->io_size); | ||
488 | } | ||
489 | |||
484 | /* Reserve log space if we might write beyond the on-disk inode size. */ | 490 | /* Reserve log space if we might write beyond the on-disk inode size. */ |
485 | if (!status && | 491 | if (!status && |
486 | ioend->io_type != XFS_IO_UNWRITTEN && | 492 | ioend->io_type != XFS_IO_UNWRITTEN && |