|
@@ -640,12 +640,15 @@ typedef struct xfs_agf {
|
|
|
__be32 agf_btreeblks; /* # of blocks held in AGF btrees */
|
|
|
uuid_t agf_uuid; /* uuid of filesystem */
|
|
|
|
|
|
+ __be32 agf_rmap_blocks; /* rmapbt blocks used */
|
|
|
+ __be32 agf_padding; /* padding */
|
|
|
+
|
|
|
/*
|
|
|
* reserve some contiguous space for future logged fields before we add
|
|
|
* the unlogged fields. This makes the range logging via flags and
|
|
|
* structure offsets much simpler.
|
|
|
*/
|
|
|
- __be64 agf_spare64[16];
|
|
|
+ __be64 agf_spare64[15];
|
|
|
|
|
|
/* unlogged fields, written during buffer writeback. */
|
|
|
__be64 agf_lsn; /* last write sequence */
|
|
@@ -670,7 +673,8 @@ typedef struct xfs_agf {
|
|
|
#define XFS_AGF_LONGEST 0x00000400
|
|
|
#define XFS_AGF_BTREEBLKS 0x00000800
|
|
|
#define XFS_AGF_UUID 0x00001000
|
|
|
-#define XFS_AGF_NUM_BITS 13
|
|
|
+#define XFS_AGF_RMAP_BLOCKS 0x00002000
|
|
|
+#define XFS_AGF_NUM_BITS 14
|
|
|
#define XFS_AGF_ALL_BITS ((1 << XFS_AGF_NUM_BITS) - 1)
|
|
|
|
|
|
#define XFS_AGF_FLAGS \
|
|
@@ -686,7 +690,8 @@ typedef struct xfs_agf {
|
|
|
{ XFS_AGF_FREEBLKS, "FREEBLKS" }, \
|
|
|
{ XFS_AGF_LONGEST, "LONGEST" }, \
|
|
|
{ XFS_AGF_BTREEBLKS, "BTREEBLKS" }, \
|
|
|
- { XFS_AGF_UUID, "UUID" }
|
|
|
+ { XFS_AGF_UUID, "UUID" }, \
|
|
|
+ { XFS_AGF_RMAP_BLOCKS, "RMAP_BLOCKS" }
|
|
|
|
|
|
/* disk block (xfs_daddr_t) in the AG */
|
|
|
#define XFS_AGF_DADDR(mp) ((xfs_daddr_t)(1 << (mp)->m_sectbb_log))
|