mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-28 06:34:12 +08:00
xfs: add shared rmap map/unmap/convert log item types
Wire up some rmap log redo item type codes to map, unmap, or convert shared data block extents. The actual log item recovery comes in a later patch. Signed-off-by: Darrick J. Wong <darrick.wong@oracle.com> Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
80de462e09
commit
0e07c039ba
@ -635,8 +635,11 @@ struct xfs_map_extent {
|
||||
|
||||
/* rmap me_flags: upper bits are flags, lower byte is type code */
|
||||
#define XFS_RMAP_EXTENT_MAP 1
|
||||
#define XFS_RMAP_EXTENT_MAP_SHARED 2
|
||||
#define XFS_RMAP_EXTENT_UNMAP 3
|
||||
#define XFS_RMAP_EXTENT_UNMAP_SHARED 4
|
||||
#define XFS_RMAP_EXTENT_CONVERT 5
|
||||
#define XFS_RMAP_EXTENT_CONVERT_SHARED 6
|
||||
#define XFS_RMAP_EXTENT_ALLOC 7
|
||||
#define XFS_RMAP_EXTENT_FREE 8
|
||||
#define XFS_RMAP_EXTENT_TYPE_MASK 0xFF
|
||||
|
@ -441,8 +441,11 @@ xfs_rui_recover(
|
||||
XFS_FSB_TO_DADDR(mp, rmap->me_startblock));
|
||||
switch (rmap->me_flags & XFS_RMAP_EXTENT_TYPE_MASK) {
|
||||
case XFS_RMAP_EXTENT_MAP:
|
||||
case XFS_RMAP_EXTENT_MAP_SHARED:
|
||||
case XFS_RMAP_EXTENT_UNMAP:
|
||||
case XFS_RMAP_EXTENT_UNMAP_SHARED:
|
||||
case XFS_RMAP_EXTENT_CONVERT:
|
||||
case XFS_RMAP_EXTENT_CONVERT_SHARED:
|
||||
case XFS_RMAP_EXTENT_ALLOC:
|
||||
case XFS_RMAP_EXTENT_FREE:
|
||||
op_ok = true;
|
||||
|
@ -48,12 +48,21 @@ xfs_trans_set_rmap_flags(
|
||||
case XFS_RMAP_MAP:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_MAP;
|
||||
break;
|
||||
case XFS_RMAP_MAP_SHARED:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_MAP_SHARED;
|
||||
break;
|
||||
case XFS_RMAP_UNMAP:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_UNMAP;
|
||||
break;
|
||||
case XFS_RMAP_UNMAP_SHARED:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_UNMAP_SHARED;
|
||||
break;
|
||||
case XFS_RMAP_CONVERT:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_CONVERT;
|
||||
break;
|
||||
case XFS_RMAP_CONVERT_SHARED:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_CONVERT_SHARED;
|
||||
break;
|
||||
case XFS_RMAP_ALLOC:
|
||||
rmap->me_flags |= XFS_RMAP_EXTENT_ALLOC;
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user