mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 14:11:20 +00:00
xfs: move mappings from cow fork to data fork after copy-write
After the write component of a copy-write operation finishes, clean up the bookkeeping left behind. On error, we simply free the new blocks and pass the error up. If we succeed, however, then we must remove the old data fork mapping and move the cow fork mapping to the data fork. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> [hch: Call the CoW failure function during xfs_cancel_ioend] Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
4862cfe825
commit
43caeb187d
3 changed files with 272 additions and 2 deletions
|
@ -33,4 +33,12 @@ extern bool xfs_reflink_find_cow_mapping(struct xfs_inode *ip, xfs_off_t offset,
|
|||
extern int xfs_reflink_trim_irec_to_next_cow(struct xfs_inode *ip,
|
||||
xfs_fileoff_t offset_fsb, struct xfs_bmbt_irec *imap);
|
||||
|
||||
extern int xfs_reflink_cancel_cow_blocks(struct xfs_inode *ip,
|
||||
struct xfs_trans **tpp, xfs_fileoff_t offset_fsb,
|
||||
xfs_fileoff_t end_fsb);
|
||||
extern int xfs_reflink_cancel_cow_range(struct xfs_inode *ip, xfs_off_t offset,
|
||||
xfs_off_t count);
|
||||
extern int xfs_reflink_end_cow(struct xfs_inode *ip, xfs_off_t offset,
|
||||
xfs_off_t count);
|
||||
|
||||
#endif /* __XFS_REFLINK_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue