mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
xfs: handle cow fork in xfs_bmap_trace_exlist
commit c44a1f2262 upstream.
By inspection, xfs_bmap_trace_exlist isn't handling cow forks,
and will trace the data fork instead.
Fix this by setting state appropriately if whichfork
== XFS_COW_FORK.
()___()
< @ @ >
| |
{o_o}
(|)
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Dave Chinner <david@fromorbit.com>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
a585e1c4ec
commit
4081d4a79a
@@ -518,7 +518,7 @@ void
|
||||
xfs_bmap_trace_exlist(
|
||||
xfs_inode_t *ip, /* incore inode pointer */
|
||||
xfs_extnum_t cnt, /* count of entries in the list */
|
||||
int whichfork, /* data or attr fork */
|
||||
int whichfork, /* data or attr or cow fork */
|
||||
unsigned long caller_ip)
|
||||
{
|
||||
xfs_extnum_t idx; /* extent record index */
|
||||
@@ -527,6 +527,8 @@ xfs_bmap_trace_exlist(
|
||||
|
||||
if (whichfork == XFS_ATTR_FORK)
|
||||
state |= BMAP_ATTRFORK;
|
||||
else if (whichfork == XFS_COW_FORK)
|
||||
state |= BMAP_COWFORK;
|
||||
|
||||
ifp = XFS_IFORK_PTR(ip, whichfork);
|
||||
ASSERT(cnt == xfs_iext_count(ifp));
|
||||
|
||||
Reference in New Issue
Block a user