diff options
author | Darrick J. Wong <darrick.wong@oracle.com> | 2018-01-19 08:56:04 -0800 |
---|---|---|
committer | Darrick J. Wong <darrick.wong@oracle.com> | 2018-01-29 07:27:22 -0800 |
commit | 09ac862397041fc484cd7294b15d41073aa78864 (patch) | |
tree | f80d5fcf80806d92fa0c007004e0180077902f46 | |
parent | 6ca30729c206d62d88730a904af7d543a56273d8 (diff) | |
download | linux-09ac862397041fc484cd7294b15d41073aa78864.tar.gz linux-09ac862397041fc484cd7294b15d41073aa78864.tar.bz2 linux-09ac862397041fc484cd7294b15d41073aa78864.zip |
xfs: call xfs_qm_dqattach before performing reflink operations
Ensure that we've attached all the necessary dquots before performing
reflink operations so that quota accounting is accurate.
Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com>
Reviewed-by: Brian Foster <bfoster@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
-rw-r--r-- | fs/xfs/xfs_reflink.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/fs/xfs/xfs_reflink.c b/fs/xfs/xfs_reflink.c index 47aea2e82c26..bcc2ad4f0899 100644 --- a/fs/xfs/xfs_reflink.c +++ b/fs/xfs/xfs_reflink.c @@ -1295,6 +1295,11 @@ xfs_reflink_remap_range( if (ret <= 0) goto out_unlock; + /* Attach dquots to dest inode before changing block map */ + ret = xfs_qm_dqattach(dest, 0); + if (ret) + goto out_unlock; + trace_xfs_reflink_remap_range(src, pos_in, len, dest, pos_out); /* |