xfs: wire up a new metafile type for the realtime refcount

Plumb in the pieces we need to embed the root of the realtime refcount
btree in an inode's data fork, complete with metafile type and on-disk
interpretation functions.

Signed-off-by: "Darrick J. Wong" <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
Darrick J. Wong
2024-11-20 16:20:54 -08:00
parent bf0b994113
commit f0415af60f
6 changed files with 392 additions and 3 deletions

View File

@@ -28,6 +28,7 @@
#include "xfs_health.h"
#include "xfs_symlink_remote.h"
#include "xfs_rtrmap_btree.h"
#include "xfs_rtrefcount_btree.h"
struct kmem_cache *xfs_ifork_cache;
@@ -273,8 +274,7 @@ xfs_iformat_data_fork(
case XFS_METAFILE_RTRMAP:
return xfs_iformat_rtrmap(ip, dip);
case XFS_METAFILE_RTREFCOUNT:
ASSERT(0); /* to be implemented later */
return -EFSCORRUPTED;
return xfs_iformat_rtrefcount(ip, dip);
default:
break;
}
@@ -624,7 +624,7 @@ xfs_iflush_fork(
xfs_iflush_rtrmap(ip, dip);
break;
case XFS_METAFILE_RTREFCOUNT:
ASSERT(0); /* to be implemented later */
xfs_iflush_rtrefcount(ip, dip);
break;
default:
ASSERT(0);