From: "Darrick J. Wong" <djwong@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: linux-xfs@vger.kernel.org, hch@lst.de
Subject: Re: [PATCH 03/28] xfs: define the on-disk format for the metadir feature
Date: Tue, 15 Oct 2024 11:25:41 -0700 [thread overview]
Message-ID: <20241015182541.GE21853@frogsfrogsfrogs> (raw)
In-Reply-To: <Zw3rjkSklol5xOzE@dread.disaster.area>
On Tue, Oct 15, 2024 at 03:11:58PM +1100, Dave Chinner wrote:
> On Thu, Oct 10, 2024 at 05:49:09PM -0700, Darrick J. Wong wrote:
> > From: Darrick J. Wong <djwong@kernel.org>
> >
> > Define the on-disk layout and feature flags for the metadata inode
> > directory feature. Add a xfs_sb_version_hasmetadir for benefit of
> > xfs_repair, which needs to know where the new end of the superblock
> > lies.
>
> Please just open code xfs_sb_version_hasmetadir() in xfs_repair,
> we moved away from loading up the on-disk format definition
> headers with these superblock feature helpers quite some time ago.
Ok.
> > @@ -790,6 +801,27 @@ static inline time64_t xfs_bigtime_to_unix(uint64_t ondisk_seconds)
> > return (time64_t)ondisk_seconds - XFS_BIGTIME_EPOCH_OFFSET;
> > }
> >
> > +enum xfs_metafile_type {
> > + XFS_METAFILE_UNKNOWN, /* unknown */
> > + XFS_METAFILE_DIR, /* metadir directory */
> > + XFS_METAFILE_USRQUOTA, /* user quota */
> > + XFS_METAFILE_GRPQUOTA, /* group quota */
> > + XFS_METAFILE_PRJQUOTA, /* project quota */
> > + XFS_METAFILE_RTBITMAP, /* rt bitmap */
> > + XFS_METAFILE_RTSUMMARY, /* rt summary */
> > +
> > + XFS_METAFILE_MAX
> > +} __packed;
>
> Ok, so that's all the initial things that we want to support. How do
> we handle expanding this list of types in future? i.e. does it
> require incompat or rocompat feature bit protection, new inode
> flags, and/or something else?
*Some* sort of feature flag, yes. It's the same as any other dinode
extension -- the developer has to decide on a new incompat/rocompat flag
as appropriate.
>
> > @@ -812,7 +844,10 @@ struct xfs_dinode {
> > __be16 di_mode; /* mode and type of file */
> > __u8 di_version; /* inode version */
> > __u8 di_format; /* format of di_c data */
> > - __be16 di_onlink; /* old number of links to file */
> > + union {
> > + __be16 di_onlink; /* old number of links to file */
> > + __be16 di_metatype; /* XFS_METAFILE_* */
> > + } __packed; /* explicit packing because arm gcc bloats this up */
>
> That's a nasty landmine. Does anything bad happen to the log dinode
> with the same compilers?
As hch said, no it doesn't, because we don't log di_onlink anymore.
>
> > __be32 di_uid; /* owner's user id */
> > __be32 di_gid; /* owner's group id */
> > __be32 di_nlink; /* number of links to file */
> > @@ -1092,17 +1127,47 @@ static inline void xfs_dinode_put_rdev(struct xfs_dinode *dip, xfs_dev_t rdev)
> > #define XFS_DIFLAG2_REFLINK_BIT 1 /* file's blocks may be shared */
> > #define XFS_DIFLAG2_COWEXTSIZE_BIT 2 /* copy on write extent size hint */
> > #define XFS_DIFLAG2_BIGTIME_BIT 3 /* big timestamps */
> > -#define XFS_DIFLAG2_NREXT64_BIT 4 /* large extent counters */
> > +#define XFS_DIFLAG2_NREXT64_BIT 4 /* large extent counters */
> > +#define XFS_DIFLAG2_METADATA_BIT 63 /* filesystem metadata */
>
> Why bit 63?
I use high numbered bits for development code on the assumption that it
will take years to get through the review process and I don't want to
deal with the merge conflicts and cached fs image conflicts that will
happen if some other feature gets merged ahead of the one I'm working
on. If and when the patchset gets close to finished I go through and
change them to the next available value.
This one should get changed from 63 to 5. Most recently, I wasn't sure
if forcealign and atomicwrites would get merged first.
> > -#define XFS_DIFLAG2_DAX (1 << XFS_DIFLAG2_DAX_BIT)
> > -#define XFS_DIFLAG2_REFLINK (1 << XFS_DIFLAG2_REFLINK_BIT)
> > -#define XFS_DIFLAG2_COWEXTSIZE (1 << XFS_DIFLAG2_COWEXTSIZE_BIT)
> > -#define XFS_DIFLAG2_BIGTIME (1 << XFS_DIFLAG2_BIGTIME_BIT)
> > -#define XFS_DIFLAG2_NREXT64 (1 << XFS_DIFLAG2_NREXT64_BIT)
> > +#define XFS_DIFLAG2_DAX (1ULL << XFS_DIFLAG2_DAX_BIT)
> > +#define XFS_DIFLAG2_REFLINK (1ULL << XFS_DIFLAG2_REFLINK_BIT)
> > +#define XFS_DIFLAG2_COWEXTSIZE (1ULL << XFS_DIFLAG2_COWEXTSIZE_BIT)
> > +#define XFS_DIFLAG2_BIGTIME (1ULL << XFS_DIFLAG2_BIGTIME_BIT)
> > +#define XFS_DIFLAG2_NREXT64 (1ULL << XFS_DIFLAG2_NREXT64_BIT)
> > +
> > +/*
> > + * The inode contains filesystem metadata and can be found through the metadata
> > + * directory tree. Metadata inodes must satisfy the following constraints:
> > + *
> > + * - V5 filesystem (and ftype) are enabled;
> > + * - The only valid modes are regular files and directories;
> > + * - The access bits must be zero;
> > + * - DMAPI event and state masks are zero;
> > + * - The user and group IDs must be zero;
> > + * - The project ID can be used as a u32 annotation;
> > + * - The immutable, sync, noatime, nodump, nodefrag flags must be set.
> > + * - The dax flag must not be set.
> > + * - Directories must have nosymlinks set.
> > + *
> > + * These requirements are chosen defensively to minimize the ability of
> > + * userspace to read or modify the contents, should a metadata file ever
> > + * escape to userspace.
> > + *
> > + * There are further constraints on the directory tree itself:
> > + *
> > + * - Metadata inodes must never be resolvable through the root directory;
> > + * - They must never be accessed by userspace;
> > + * - Metadata directory entries must have correct ftype.
> > + *
> > + * Superblock-rooted metadata files must have the METADATA iflag set even
> > + * though they do not have a parent directory.
> > + */
> > +#define XFS_DIFLAG2_METADATA (1ULL << XFS_DIFLAG2_METADATA_BIT)
>
> I think the comment might be better placed on the XFS_DIFLAG2_METADATA_BIT
> definition. I read through the rework of the DIFLAG2 definitions
> from the bit values, and then went "huh, where's the
> XFS_DIFLAG2_METADATA definition?". I didn't notice it because it's
> separated from the rest of them by a 30 line comment...
>
> So perhaps this would be better to do something like this ....
>
>
> /* use DAX for this inode */
> #define XFS_DIFLAG2_DAX_BIT 0
>
> /* file's blocks may be shared */
> #define XFS_DIFLAG2_REFLINK_BIT 1
>
> /* copy on write extent size hint */
> #define XFS_DIFLAG2_COWEXTSIZE_BIT 2
>
> /* big timestamps */
> #define XFS_DIFLAG2_BIGTIME_BIT 3
>
> /* large extent counters */
> #define XFS_DIFLAG2_NREXT64_BIT 4
>
> /*
> * The inode contains filesystem metadata and can be found through the metadata
> * directory tree. Metadata inodes must satisfy the following constraints:
> *
> * - V5 filesystem (and ftype) are enabled;
> * - The only valid modes are regular files and directories;
> * - The access bits must be zero;
> * - DMAPI event and state masks are zero;
> * - The user and group IDs must be zero;
> * - The project ID can be used as a u32 annotation;
> * - The immutable, sync, noatime, nodump, nodefrag flags must be set.
> * - The dax flag must not be set.
> * - Directories must have nosymlinks set.
> *
> * These requirements are chosen defensively to minimize the ability of
> * userspace to read or modify the contents, should a metadata file ever
> * escape to userspace.
> *
> * There are further constraints on the directory tree itself:
> *
> * - Metadata inodes must never be resolvable through the root directory;
> * - They must never be accessed by userspace;
> * - Metadata directory entries must have correct ftype.
> *
> * Superblock-rooted metadata files must have the METADATA iflag set even
> * though they do not have a parent directory.
> *
> * XXX: why bit 63?
> */
> #define XFS_DIFLAG2_METADATA_BIT 63
>
> #define XFS_DIFLAG2_DAX (1ULL << XFS_DIFLAG2_DAX_BIT)
> #define XFS_DIFLAG2_REFLINK (1ULL << XFS_DIFLAG2_REFLINK_BIT)
> #define XFS_DIFLAG2_COWEXTSIZE (1ULL << XFS_DIFLAG2_COWEXTSIZE_BIT)
> #define XFS_DIFLAG2_BIGTIME (1ULL << XFS_DIFLAG2_BIGTIME_BIT)
> #define XFS_DIFLAG2_NREXT64 (1ULL << XFS_DIFLAG2_NREXT64_BIT)
> #define XFS_DIFLAG2_METADATA (1ULL << XFS_DIFLAG2_METADATA_BIT)
Yeah, that's better. I'll change that.
>
> >
> > #define XFS_DIFLAG2_ANY \
> > (XFS_DIFLAG2_DAX | XFS_DIFLAG2_REFLINK | XFS_DIFLAG2_COWEXTSIZE | \
> > - XFS_DIFLAG2_BIGTIME | XFS_DIFLAG2_NREXT64)
> > + XFS_DIFLAG2_BIGTIME | XFS_DIFLAG2_NREXT64 | XFS_DIFLAG2_METADATA)
> >
> > static inline bool xfs_dinode_has_bigtime(const struct xfs_dinode *dip)
> > {
> > diff --git a/fs/xfs/libxfs/xfs_inode_buf.c b/fs/xfs/libxfs/xfs_inode_buf.c
> > index 79babeac9d7546..cdd6ed4279649d 100644
> > --- a/fs/xfs/libxfs/xfs_inode_buf.c
> > +++ b/fs/xfs/libxfs/xfs_inode_buf.c
> > @@ -215,6 +215,8 @@ xfs_inode_from_disk(
> > set_nlink(inode, be32_to_cpu(from->di_nlink));
> > ip->i_projid = (prid_t)be16_to_cpu(from->di_projid_hi) << 16 |
> > be16_to_cpu(from->di_projid_lo);
> > + if (from->di_flags2 & cpu_to_be64(XFS_DIFLAG2_METADATA))
>
> if (xfs_is_metadir_dinode(from))
Ok.
> > + ip->i_metatype = be16_to_cpu(from->di_metatype);
> > }
> >
> > i_uid_write(inode, be32_to_cpu(from->di_uid));
> > @@ -315,7 +317,10 @@ xfs_inode_to_disk(
> > struct inode *inode = VFS_I(ip);
> >
> > to->di_magic = cpu_to_be16(XFS_DINODE_MAGIC);
> > - to->di_onlink = 0;
> > + if (xfs_is_metadir_inode(ip))
> > + to->di_metatype = cpu_to_be16(ip->i_metatype);
> > + else
> > + to->di_onlink = 0;
> >
> > to->di_format = xfs_ifork_format(&ip->i_df);
> > to->di_uid = cpu_to_be32(i_uid_read(inode));
> > @@ -523,9 +528,13 @@ xfs_dinode_verify(
> > * di_nlink==0 on a V1 inode. V2/3 inodes would get written out with
> > * di_onlink==0, so we can check that.
> > */
> > - if (dip->di_version >= 2) {
> > + if (dip->di_version == 2) {
> > if (dip->di_onlink)
> > return __this_address;
> > + } else if (dip->di_version >= 3) {
> > + if (!(dip->di_flags2 & cpu_to_be64(XFS_DIFLAG2_METADATA)) &&
>
> xfs_is_metadir_dinode() again.
>
> > + dip->di_onlink)
> > + return __this_address;
> > }
> >
> > /* don't allow invalid i_size */
> > diff --git a/fs/xfs/libxfs/xfs_inode_util.c b/fs/xfs/libxfs/xfs_inode_util.c
> > index ec64eda3bbe2e1..3885ca68d8ae24 100644
> > --- a/fs/xfs/libxfs/xfs_inode_util.c
> > +++ b/fs/xfs/libxfs/xfs_inode_util.c
> > @@ -224,6 +224,8 @@ xfs_inode_inherit_flags2(
> > }
> > if (pip->i_diflags2 & XFS_DIFLAG2_DAX)
> > ip->i_diflags2 |= XFS_DIFLAG2_DAX;
> > + if (pip->i_diflags2 & XFS_DIFLAG2_METADATA)
> > + ip->i_diflags2 |= XFS_DIFLAG2_METADATA;
>
> if (xfs_is_metadir_inode(pip))
>
> > diff --git a/fs/xfs/scrub/inode.c b/fs/xfs/scrub/inode.c
> > index d32716fb2fecf7..ec2c694c4083f8 100644
> > --- a/fs/xfs/scrub/inode.c
> > +++ b/fs/xfs/scrub/inode.c
> > @@ -421,7 +421,8 @@ xchk_dinode(
> > break;
> > case 2:
> > case 3:
> > - if (dip->di_onlink != 0)
> > + if (!(dip->di_flags2 & cpu_to_be64(XFS_DIFLAG2_METADATA)) &&
> > + dip->di_onlink != 0)
>
> xfs_is_metadir_dinode() again. Though this is the same check as in
> xfs_dinode_verify() so maybe also a helper for that?
xfs_dinode_verify_onlink?
Dunno, it seems a little silly to add a helper for a format that we're
turning off by default in 11 months and removing in 5 years.
Eh whatever I don't feel like arguing.
> > xchk_ino_set_corrupt(sc, ino);
> >
> > if (dip->di_mode == 0 && sc->ip)
> > diff --git a/fs/xfs/scrub/inode_repair.c b/fs/xfs/scrub/inode_repair.c
> > index 5da9e1a387a8bb..fdc2f0d058d557 100644
> > --- a/fs/xfs/scrub/inode_repair.c
> > +++ b/fs/xfs/scrub/inode_repair.c
> > @@ -521,10 +521,13 @@ STATIC void
> > xrep_dinode_nlinks(
> > struct xfs_dinode *dip)
> > {
> > - if (dip->di_version > 1)
> > - dip->di_onlink = 0;
> > - else
> > + if (dip->di_version < 2) {
> > dip->di_nlink = 0;
> > + return;
> > + }
> > +
> > + if (!(dip->di_flags2 & cpu_to_be64(XFS_DIFLAG2_METADATA)))
> > + dip->di_onlink = 0;
>
> xfs_is_metadir_dinode() again.
>
> > }
> >
> > /* Fix any conflicting flags that the verifiers complain about. */
> > diff --git a/fs/xfs/xfs_inode.h b/fs/xfs/xfs_inode.h
> > index be7d4b26aaea3f..4b36dc2c9bf48b 100644
> > --- a/fs/xfs/xfs_inode.h
> > +++ b/fs/xfs/xfs_inode.h
> > @@ -65,6 +65,7 @@ typedef struct xfs_inode {
> > uint16_t i_flushiter; /* incremented on flush */
> > };
> > uint8_t i_forkoff; /* attr fork offset >> 3 */
> > + enum xfs_metafile_type i_metatype; /* XFS_METAFILE_* */
> > uint16_t i_diflags; /* XFS_DIFLAG_... */
> > uint64_t i_diflags2; /* XFS_DIFLAG2_... */
> > struct timespec64 i_crtime; /* time created */
> > @@ -276,10 +277,23 @@ static inline bool xfs_is_reflink_inode(const struct xfs_inode *ip)
> > return ip->i_diflags2 & XFS_DIFLAG2_REFLINK;
> > }
> >
> > +static inline bool xfs_is_metadir_inode(const struct xfs_inode *ip)
> > +{
> > + return ip->i_diflags2 & XFS_DIFLAG2_METADATA;
> > +}
> > +
> > static inline bool xfs_is_metadata_inode(const struct xfs_inode *ip)
>
> Oh, that's going to get confusing. "is_metadir" checks the inode
> METADATA flag, and is "is_metadata" checks the superblock METADIR
> flag....
>
> Can we change this to higher level function to
> xfs_inode_is_internal() or something else that is not easily
> confused with checking an inode flag?
But there's already xfs_internal_inum, which only covers sb-rooted
metadata inodes. I guess first we have to rename that to xfs_is_sb_inum
in a separate patch, and then this one can add xfs_inode_is_internal.
> > diff --git a/fs/xfs/xfs_inode_item_recover.c b/fs/xfs/xfs_inode_item_recover.c
> > index dbdab4ce7c44c4..40349333868076 100644
> > --- a/fs/xfs/xfs_inode_item_recover.c
> > +++ b/fs/xfs/xfs_inode_item_recover.c
> > @@ -175,7 +175,10 @@ xfs_log_dinode_to_disk(
> > to->di_mode = cpu_to_be16(from->di_mode);
> > to->di_version = from->di_version;
> > to->di_format = from->di_format;
> > - to->di_onlink = 0;
> > + if (from->di_flags2 & XFS_DIFLAG2_METADATA)
> > + to->di_metatype = cpu_to_be16(from->di_metatype);
> > + else
> > + to->di_onlink = 0;
>
> Just recover the field unconditionally - it's will be zero when
> XFS_DIFLAG2_METADATA is not set as this is what you modified the
> formatting code to do....
Ok.
> > diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c
> > index 457c2d70968d9a..59953278964de9 100644
> > --- a/fs/xfs/xfs_super.c
> > +++ b/fs/xfs/xfs_super.c
> > @@ -1733,6 +1733,10 @@ xfs_fs_fill_super(
> > mp->m_features &= ~XFS_FEAT_DISCARD;
> > }
> >
> > + if (xfs_has_metadir(mp))
> > + xfs_warn(mp,
> > +"EXPERIMENTAL metadata directory feature in use. Use at your own risk!");
> > +
>
> We really need a 'xfs_mark_experimental(mp, "Metadata directory")'
> function to format all these experimental feature warnings the same
> way....
We already have xfs_warn_mount for functionality that isn't sb feature
bits. Maybe xfs_warn_feat?
--D
> -Dave.
> --
> Dave Chinner
> david@fromorbit.com
>
next prev parent reply other threads:[~2024-10-15 18:25 UTC|newest]
Thread overview: 342+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-11 0:24 [PATCHBOMB 6.13] xfs: metadata directories and realtime groups Darrick J. Wong
2024-10-11 0:33 ` [PATCHSET v5.0 1/9] xfs: convert perag to use xarrays Darrick J. Wong
2024-10-11 0:37 ` [PATCH 01/25] xfs: pass the exact range to initialize to xfs_initialize_perag Darrick J. Wong
2024-10-11 0:38 ` [PATCH 02/25] xfs: merge the perag freeing helpers Darrick J. Wong
2024-10-11 0:38 ` [PATCH 03/25] xfs: don't use __GFP_RETRY_MAYFAIL in xfs_initialize_perag Darrick J. Wong
2024-10-11 0:38 ` [PATCH 04/25] xfs: fix superfluous clearing of info->low in __xfs_getfsmap_datadev Darrick J. Wong
2024-10-11 0:38 ` [PATCH 05/25] xfs: remove the unused pagb_count field in struct xfs_perag Darrick J. Wong
2024-10-11 0:39 ` [PATCH 06/25] xfs: remove the unused pag_active_wq " Darrick J. Wong
2024-10-11 0:39 ` [PATCH 07/25] xfs: pass a pag to xfs_difree_inode_chunk Darrick J. Wong
2024-10-11 0:39 ` [PATCH 08/25] xfs: remove the agno argument to xfs_free_ag_extent Darrick J. Wong
2024-10-11 0:40 ` [PATCH 09/25] xfs: add xfs_agbno_to_fsb and xfs_agbno_to_daddr helpers Darrick J. Wong
2024-10-11 0:40 ` [PATCH 10/25] xfs: add a xfs_agino_to_ino helper Darrick J. Wong
2024-10-11 0:40 ` [PATCH 11/25] xfs: pass a pag to xfs_extent_busy_{search,reuse} Darrick J. Wong
2024-10-11 0:40 ` [PATCH 12/25] xfs: keep a reference to the pag for busy extents Darrick J. Wong
2024-10-11 0:41 ` [PATCH 13/25] xfs: remove the mount field from struct xfs_busy_extents Darrick J. Wong
2024-10-11 0:41 ` [PATCH 14/25] xfs: remove the unused trace_xfs_iwalk_ag trace point Darrick J. Wong
2024-10-11 0:41 ` [PATCH 15/25] xfs: remove the unused xrep_bmap_walk_rmap " Darrick J. Wong
2024-10-11 0:41 ` [PATCH 16/25] xfs: constify pag arguments to trace points Darrick J. Wong
2024-10-11 0:42 ` [PATCH 17/25] xfs: pass a perag structure to the xfs_ag_resv_init_error trace point Darrick J. Wong
2024-10-11 0:42 ` [PATCH 18/25] xfs: pass objects to the xfs_irec_merge_{pre,post} trace points Darrick J. Wong
2024-10-11 0:42 ` [PATCH 19/25] xfs: pass the iunlink item to the xfs_iunlink_update_dinode trace point Darrick J. Wong
2024-10-11 0:42 ` [PATCH 20/25] xfs: pass objects to the xrep_ibt_walk_rmap tracepoint Darrick J. Wong
2024-10-11 0:43 ` [PATCH 21/25] xfs: pass the pag to the trace_xrep_calc_ag_resblks{,_btsize} trace points Darrick J. Wong
2024-10-11 0:43 ` [PATCH 22/25] xfs: pass the pag to the xrep_newbt_extent_class tracepoints Darrick J. Wong
2024-10-11 0:43 ` [PATCH 23/25] xfs: convert remaining trace points to pass pag structures Darrick J. Wong
2024-10-11 0:43 ` [PATCH 24/25] xfs: split xfs_initialize_perag Darrick J. Wong
2024-10-11 0:44 ` [PATCH 25/25] xfs: insert the pag structures into the xarray later Darrick J. Wong
2024-10-11 0:33 ` [PATCHSET v5.0 2/9] xfs: create a generic allocation group structure Darrick J. Wong
2024-10-11 0:44 ` [PATCH 01/16] xfs: factor out a xfs_iwalk_args helper Darrick J. Wong
2024-10-11 0:44 ` [PATCH 02/16] xfs: factor out a generic xfs_group structure Darrick J. Wong
2024-10-15 0:52 ` Dave Chinner
2024-10-15 1:05 ` Darrick J. Wong
2024-10-11 0:44 ` [PATCH 03/16] xfs: add a xfs_group_next_range helper Darrick J. Wong
2024-10-11 0:45 ` [PATCH 04/16] xfs: switch perag iteration from the for_each macros to a while based iterator Darrick J. Wong
2024-10-11 0:45 ` [PATCH 05/16] xfs: move metadata health tracking to the generic group structure Darrick J. Wong
2024-10-11 0:45 ` [PATCH 06/16] xfs: mark xfs_perag_intent_{hold,rele} static Darrick J. Wong
2024-10-11 0:46 ` [PATCH 07/16] xfs: move draining of deferred operations to the generic group structure Darrick J. Wong
2024-10-11 0:46 ` [PATCH 08/16] xfs: move the online repair rmap hooks " Darrick J. Wong
2024-10-11 0:46 ` [PATCH 09/16] xfs: return the busy generation from xfs_extent_busy_list_empty Darrick J. Wong
2024-10-11 0:46 ` [PATCH 10/16] xfs: convert extent busy tracking to the generic group structure Darrick J. Wong
2024-10-15 1:08 ` Dave Chinner
2024-10-15 1:21 ` Darrick J. Wong
2024-10-15 2:43 ` Dave Chinner
2024-10-15 18:06 ` Darrick J. Wong
2024-10-11 0:47 ` [PATCH 11/16] xfs: convert busy extent " Darrick J. Wong
2024-10-11 0:47 ` [PATCH 12/16] xfs: add a generic group pointer to the btree cursor Darrick J. Wong
2024-10-15 3:05 ` Dave Chinner
2024-10-15 3:33 ` Christoph Hellwig
2024-10-15 18:11 ` Darrick J. Wong
2024-10-11 0:47 ` [PATCH 13/16] xfs: store a generic xfs_group pointer in xfs_getfsmap_info Darrick J. Wong
2024-10-11 0:47 ` [PATCH 14/16] xfs: add group based bno conversion helpers Darrick J. Wong
2024-10-11 0:48 ` [PATCH 15/16] xfs: remove xfs_group_intent_hold and xfs_group_intent_rele Darrick J. Wong
2024-10-11 0:48 ` [PATCH 16/16] xfs: store a generic group structure in the intents Darrick J. Wong
2024-10-11 0:34 ` [PATCHSET v5.0 3/9] xfs: metadata inode directory trees Darrick J. Wong
2024-10-11 0:48 ` [PATCH 01/28] xfs: constify the xfs_sb predicates Darrick J. Wong
2024-10-14 7:51 ` Christoph Hellwig
2024-10-11 0:48 ` [PATCH 02/28] xfs: constify the xfs_inode predicates Darrick J. Wong
2024-10-14 7:51 ` Christoph Hellwig
2024-10-11 0:49 ` [PATCH 03/28] xfs: define the on-disk format for the metadir feature Darrick J. Wong
2024-10-15 4:11 ` Dave Chinner
2024-10-15 5:21 ` Christoph Hellwig
2024-10-15 18:26 ` Darrick J. Wong
2024-10-15 18:25 ` Darrick J. Wong [this message]
2024-10-15 23:03 ` Dave Chinner
2024-10-16 0:20 ` Darrick J. Wong
2024-10-16 3:48 ` Dave Chinner
2024-10-16 4:56 ` Darrick J. Wong
2024-10-11 0:49 ` [PATCH 04/28] xfs: undefine the sb_bad_features2 when metadir is enabled Darrick J. Wong
2024-10-14 7:53 ` Christoph Hellwig
2024-10-15 4:27 ` Dave Chinner
2024-10-15 18:32 ` Darrick J. Wong
2024-10-11 0:49 ` [PATCH 05/28] xfs: iget for metadata inodes Darrick J. Wong
2024-10-15 6:55 ` Dave Chinner
2024-10-15 19:04 ` Darrick J. Wong
2024-10-16 3:10 ` Dave Chinner
2024-10-11 0:49 ` [PATCH 06/28] xfs: load metadata directory root at mount time Darrick J. Wong
2024-10-11 0:50 ` [PATCH 07/28] xfs: enforce metadata inode flag Darrick J. Wong
2024-10-11 0:50 ` [PATCH 08/28] xfs: read and write metadata inode directory tree Darrick J. Wong
2024-10-11 0:50 ` [PATCH 09/28] xfs: disable the agi rotor for metadata inodes Darrick J. Wong
2024-10-11 0:50 ` [PATCH 10/28] xfs: hide metadata inodes from everyone because they are special Darrick J. Wong
2024-10-11 0:51 ` [PATCH 11/28] xfs: advertise metadata directory feature Darrick J. Wong
2024-10-11 0:51 ` [PATCH 12/28] xfs: allow bulkstat to return metadata directories Darrick J. Wong
2024-10-11 0:51 ` [PATCH 13/28] xfs: don't count metadata directory files to quota Darrick J. Wong
2024-10-11 0:52 ` [PATCH 14/28] xfs: mark quota inodes as metadata files Darrick J. Wong
2024-10-11 0:52 ` [PATCH 15/28] xfs: adjust xfs_bmap_add_attrfork for metadir Darrick J. Wong
2024-10-11 0:52 ` [PATCH 16/28] xfs: record health problems with the metadata directory Darrick J. Wong
2024-10-11 0:52 ` [PATCH 17/28] xfs: refactor directory tree root predicates Darrick J. Wong
2024-10-11 0:53 ` [PATCH 18/28] xfs: do not count metadata directory files when doing online quotacheck Darrick J. Wong
2024-10-11 0:53 ` [PATCH 19/28] xfs: don't fail repairs on metadata files with no attr fork Darrick J. Wong
2024-10-11 0:53 ` [PATCH 20/28] xfs: metadata files can have xattrs if metadir is enabled Darrick J. Wong
2024-10-11 0:53 ` [PATCH 21/28] xfs: adjust parent pointer scrubber for sb-rooted metadata files Darrick J. Wong
2024-10-11 0:54 ` [PATCH 22/28] xfs: fix di_metatype field of inodes that won't load Darrick J. Wong
2024-10-11 0:54 ` [PATCH 23/28] xfs: scrub metadata directories Darrick J. Wong
2024-10-11 0:54 ` [PATCH 24/28] xfs: check the metadata directory inumber in superblocks Darrick J. Wong
2024-10-11 0:54 ` [PATCH 25/28] xfs: move repair temporary files to the metadata directory tree Darrick J. Wong
2024-10-11 0:55 ` [PATCH 26/28] xfs: check metadata directory file path connectivity Darrick J. Wong
2024-10-11 0:55 ` [PATCH 27/28] xfs: confirm dotdot target before replacing it during a repair Darrick J. Wong
2024-10-11 0:55 ` [PATCH 28/28] xfs: repair metadata directory file path connectivity Darrick J. Wong
2024-10-11 0:34 ` [PATCHSET v5.0 4/9] xfs: create incore rt allocation groups Darrick J. Wong
2024-10-11 0:55 ` [PATCH 01/21] xfs: clean up xfs_getfsmap_helper arguments Darrick J. Wong
2024-10-11 0:56 ` [PATCH 02/21] xfs: create incore realtime group structures Darrick J. Wong
2024-10-11 0:56 ` [PATCH 03/21] xfs: define locking primitives for realtime groups Darrick J. Wong
2024-10-11 0:56 ` [PATCH 04/21] xfs: add a lockdep class key for rtgroup inodes Darrick J. Wong
2024-10-11 0:56 ` [PATCH 05/21] xfs: support caching rtgroup metadata inodes Darrick J. Wong
2024-10-11 0:57 ` [PATCH 06/21] xfs: add rtgroup-based realtime scrubbing context management Darrick J. Wong
2024-10-11 0:57 ` [PATCH 07/21] xfs: add a xfs_bmap_free_rtblocks helper Darrick J. Wong
2024-10-11 0:57 ` [PATCH 08/21] xfs: add a xfs_qm_unmount_rt helper Darrick J. Wong
2024-10-14 7:55 ` Christoph Hellwig
2024-10-14 23:41 ` Darrick J. Wong
2024-10-11 0:58 ` [PATCH 09/21] xfs: factor out a xfs_growfs_rt_alloc_blocks helper Darrick J. Wong
2024-10-11 0:58 ` [PATCH 10/21] xfs: cleanup xfs_getfsmap_rtdev_rtbitmap Darrick J. Wong
2024-10-11 0:58 ` [PATCH 11/21] xfs: split xfs_trim_rtdev_extents Darrick J. Wong
2024-10-11 0:58 ` [PATCH 12/21] xfs: move RT bitmap and summary information to the rtgroup Darrick J. Wong
2024-10-11 0:59 ` [PATCH 13/21] xfs: support creating per-RTG files in growfs Darrick J. Wong
2024-10-11 0:59 ` [PATCH 14/21] xfs: remove XFS_ILOCK_RT* Darrick J. Wong
2024-10-11 0:59 ` [PATCH 15/21] xfs: calculate RT bitmap and summary blocks based on sb_rextents Darrick J. Wong
2024-10-11 0:59 ` [PATCH 16/21] xfs: factor out a xfs_growfs_rt_alloc_fake_mount helper Darrick J. Wong
2024-10-11 1:00 ` [PATCH 17/21] xfs: use xfs_growfs_rt_alloc_fake_mount in xfs_growfs_rt_alloc_blocks Darrick J. Wong
2024-10-11 1:00 ` [PATCH 18/21] xfs: factor out a xfs_growfs_check_rtgeom helper Darrick J. Wong
2024-10-11 1:00 ` [PATCH 19/21] xfs: refactor xfs_rtbitmap_blockcount Darrick J. Wong
2024-10-11 1:00 ` [PATCH 20/21] xfs: refactor xfs_rtsummary_blockcount Darrick J. Wong
2024-10-11 1:01 ` [PATCH 21/21] xfs: make RT extent numbers relative to the rtgroup Darrick J. Wong
2024-10-11 0:34 ` [PATCHSET v5.0 5/9] xfs: preparation for realtime allocation groups Darrick J. Wong
2024-10-11 1:01 ` [PATCH 1/2] xfs: fix rt device offset calculations for FITRIM Darrick J. Wong
2024-10-14 7:56 ` Christoph Hellwig
2024-10-11 1:01 ` [PATCH 2/2] iomap: add a merge boundary flag Darrick J. Wong
2024-10-11 0:34 ` [PATCHSET v5.0 6/9] xfs: shard the realtime section Darrick J. Wong
2024-10-11 1:01 ` [PATCH 01/36] xfs: define the format of rt groups Darrick J. Wong
2024-10-11 1:02 ` [PATCH 02/36] xfs: check the realtime superblock at mount time Darrick J. Wong
2024-10-11 1:02 ` [PATCH 03/36] xfs: update realtime super every time we update the primary fs super Darrick J. Wong
2024-10-11 1:02 ` [PATCH 04/36] xfs: export realtime group geometry via XFS_FSOP_GEOM Darrick J. Wong
2024-10-11 1:02 ` [PATCH 05/36] xfs: check that rtblock extents do not break rtsupers or rtgroups Darrick J. Wong
2024-10-11 1:03 ` [PATCH 06/36] xfs: add a helper to prevent bmap merges across rtgroup boundaries Darrick J. Wong
2024-10-11 1:03 ` [PATCH 07/36] xfs: add frextents to the lazysbcounters when rtgroups enabled Darrick J. Wong
2024-10-11 1:03 ` [PATCH 08/36] xfs: convert sick_map loops to use ARRAY_SIZE Darrick J. Wong
2024-10-11 1:04 ` [PATCH 09/36] xfs: record rt group metadata errors in the health system Darrick J. Wong
2024-10-11 1:04 ` [PATCH 10/36] xfs: export the geometry of realtime groups to userspace Darrick J. Wong
2024-10-14 8:33 ` Christoph Hellwig
2024-10-14 13:27 ` Hans Holmberg
2024-10-15 1:14 ` Darrick J. Wong
2024-10-15 3:30 ` hch
2024-10-15 19:06 ` Darrick J. Wong
2024-10-11 1:04 ` [PATCH 11/36] xfs: add block headers to realtime bitmap and summary blocks Darrick J. Wong
2024-10-11 1:04 ` [PATCH 12/36] xfs: encode the rtbitmap in big endian format Darrick J. Wong
2024-10-11 1:05 ` [PATCH 13/36] xfs: encode the rtsummary " Darrick J. Wong
2024-10-11 1:05 ` [PATCH 14/36] xfs: grow the realtime section when realtime groups are enabled Darrick J. Wong
2024-10-11 1:05 ` [PATCH 15/36] xfs: store rtgroup information with a bmap intent Darrick J. Wong
2024-10-14 8:04 ` Christoph Hellwig
2024-10-15 0:02 ` Darrick J. Wong
2024-10-15 0:04 ` Darrick J. Wong
2024-10-11 1:05 ` [PATCH 16/36] xfs: force swapext to a realtime file to use the file content exchange ioctl Darrick J. Wong
2024-10-11 1:06 ` [PATCH 17/36] xfs: support logging EFIs for realtime extents Darrick J. Wong
2024-10-11 1:06 ` [PATCH 18/36] xfs: support error injection when freeing rt extents Darrick J. Wong
2024-10-11 1:06 ` [PATCH 19/36] xfs: use realtime EFI to free extents when rtgroups are enabled Darrick J. Wong
2024-10-11 1:06 ` [PATCH 20/36] xfs: don't merge ioends across RTGs Darrick J. Wong
2024-10-11 1:07 ` [PATCH 21/36] xfs: make the RT allocator rtgroup aware Darrick J. Wong
2024-10-11 1:07 ` [PATCH 22/36] xfs: don't coalesce file mappings that cross rtgroup boundaries in scrub Darrick J. Wong
2024-10-11 1:07 ` [PATCH 23/36] xfs: scrub the realtime group superblock Darrick J. Wong
2024-10-11 1:07 ` [PATCH 24/36] xfs: repair " Darrick J. Wong
2024-10-11 1:08 ` [PATCH 25/36] xfs: scrub metadir paths for rtgroup metadata Darrick J. Wong
2024-10-11 1:08 ` [PATCH 26/36] xfs: mask off the rtbitmap and summary inodes when metadir in use Darrick J. Wong
2024-10-11 1:08 ` [PATCH 27/36] xfs: create helpers to deal with rounding xfs_fileoff_t to rtx boundaries Darrick J. Wong
2024-10-14 8:05 ` Christoph Hellwig
2024-10-11 1:08 ` [PATCH 28/36] xfs: create helpers to deal with rounding xfs_filblks_t " Darrick J. Wong
2024-10-14 8:05 ` Christoph Hellwig
2024-10-11 1:09 ` [PATCH 29/36] xfs: make xfs_rtblock_t a segmented address like xfs_fsblock_t Darrick J. Wong
2024-10-14 8:07 ` Christoph Hellwig
2024-10-11 1:09 ` [PATCH 30/36] xfs: move the group geometry into struct xfs_groups Darrick J. Wong
2024-10-14 8:09 ` Christoph Hellwig
2024-10-15 1:33 ` Darrick J. Wong
2024-10-15 3:27 ` Christoph Hellwig
2024-10-15 19:07 ` Darrick J. Wong
2024-10-11 1:09 ` [PATCH 31/36] xfs: add a xfs_rtbno_is_group_start helper Darrick J. Wong
2024-10-14 8:09 ` Christoph Hellwig
2024-10-15 1:35 ` Darrick J. Wong
2024-10-11 1:10 ` [PATCH 32/36] xfs: fix minor bug in xfs_verify_agbno Darrick J. Wong
2024-10-14 8:10 ` Christoph Hellwig
2024-10-11 1:10 ` [PATCH 33/36] xfs: move the min and max group block numbers to xfs_group Darrick J. Wong
2024-10-14 8:11 ` Christoph Hellwig
2024-10-11 1:10 ` [PATCH 34/36] xfs: port the perag discard code to handle generic groups Darrick J. Wong
2024-10-14 8:12 ` Christoph Hellwig
2024-10-15 0:18 ` Darrick J. Wong
2024-10-11 1:10 ` [PATCH 35/36] xfs: implement busy extent tracking for rtgroups Darrick J. Wong
2024-10-14 8:14 ` Christoph Hellwig
2024-10-11 1:11 ` [PATCH 36/36] xfs: use rtgroup busy extent list for FITRIM Darrick J. Wong
2024-10-14 8:15 ` Christoph Hellwig
2024-10-11 0:35 ` [PATCHSET v5.0 7/9] xfs: persist quota options with metadir Darrick J. Wong
2024-10-11 1:11 ` [PATCH 1/4] xfs: refactor xfs_qm_destroy_quotainos Darrick J. Wong
2024-10-11 1:11 ` [PATCH 2/4] xfs: use metadir for quota inodes Darrick J. Wong
2024-10-11 1:11 ` [PATCH 3/4] xfs: scrub quota file metapaths Darrick J. Wong
2024-10-11 1:12 ` [PATCH 4/4] xfs: persist quota flags with metadir Darrick J. Wong
2024-10-11 0:35 ` [PATCHSET v5.0 8/9] xfs: enable quota for realtime volumes Darrick J. Wong
2024-10-11 1:12 ` [PATCH 1/6] xfs: fix chown with rt quota Darrick J. Wong
2024-10-14 8:24 ` Christoph Hellwig
2024-10-15 0:47 ` Darrick J. Wong
2024-10-11 1:12 ` [PATCH 2/6] xfs: advertise realtime quota support in the xqm stat files Darrick J. Wong
2024-10-14 8:25 ` Christoph Hellwig
2024-10-15 0:49 ` Darrick J. Wong
2024-10-11 1:12 ` [PATCH 3/6] xfs: report realtime block quota limits on realtime directories Darrick J. Wong
2024-10-14 8:26 ` Christoph Hellwig
2024-10-11 1:13 ` [PATCH 4/6] xfs: create quota preallocation watermarks for realtime quota Darrick J. Wong
2024-10-14 8:28 ` Christoph Hellwig
2024-10-11 1:13 ` [PATCH 5/6] xfs: reserve quota for realtime files correctly Darrick J. Wong
2024-10-14 8:28 ` Christoph Hellwig
2024-10-11 1:13 ` [PATCH 6/6] xfs: enable realtime quota again Darrick J. Wong
2024-10-14 8:28 ` Christoph Hellwig
2024-10-11 0:35 ` [PATCHSET v5.0 9/9] xfs: enable metadir Darrick J. Wong
2024-10-11 1:13 ` [PATCH 1/2] xfs: update sb field checks when metadir is turned on Darrick J. Wong
2024-10-11 1:14 ` [PATCH 2/2] xfs: enable metadata directory feature Darrick J. Wong
2024-10-11 0:35 ` [PATCHSET v5.0 1/5] xfsprogs: metadata inode directory trees Darrick J. Wong
2024-10-11 1:14 ` [PATCH 01/38] libfrog: report metadata directories in the geometry report Darrick J. Wong
2024-10-11 1:14 ` [PATCH 02/38] libfrog: allow METADIR in xfrog_bulkstat_single5 Darrick J. Wong
2024-10-11 1:14 ` [PATCH 03/38] xfs_io: support scrubbing metadata directory paths Darrick J. Wong
2024-10-11 1:15 ` [PATCH 04/38] xfs_db: disable xfs_check when metadir is enabled Darrick J. Wong
2024-10-11 1:15 ` [PATCH 05/38] xfs_db: report metadir support for version command Darrick J. Wong
2024-10-11 1:15 ` [PATCH 06/38] xfs_db: don't obfuscate metadata directories and attributes Darrick J. Wong
2024-10-11 1:15 ` [PATCH 07/38] xfs_db: support metadata directories in the path command Darrick J. Wong
2024-10-11 1:16 ` [PATCH 08/38] xfs_db: show the metadata root directory when dumping superblocks Darrick J. Wong
2024-10-11 1:16 ` [PATCH 09/38] xfs_db: display di_metatype Darrick J. Wong
2024-10-11 1:16 ` [PATCH 10/38] xfs_io: support the bulkstat metadata directory flag Darrick J. Wong
2024-10-11 1:17 ` [PATCH 11/38] xfs_io: support scrubbing metadata directory paths Darrick J. Wong
2024-10-11 1:17 ` [PATCH 12/38] xfs_spaceman: report health of metadir inodes too Darrick J. Wong
2024-10-11 1:17 ` [PATCH 13/38] xfs_scrub: tread zero-length read verify as an IO error Darrick J. Wong
2024-10-11 1:17 ` [PATCH 14/38] xfs_scrub: scan metadata directories during phase 3 Darrick J. Wong
2024-10-11 1:18 ` [PATCH 15/38] xfs_scrub: re-run metafile scrubbers during phase 5 Darrick J. Wong
2024-10-11 1:18 ` [PATCH 16/38] xfs_repair: preserve the metadirino field when zeroing supers Darrick J. Wong
2024-10-11 1:18 ` [PATCH 17/38] xfs_repair: check metadir superblock padding fields Darrick J. Wong
2024-10-11 1:18 ` [PATCH 18/38] xfs_repair: dont check metadata directory dirent inumbers Darrick J. Wong
2024-10-11 1:19 ` [PATCH 19/38] xfs_repair: refactor fixing dotdot Darrick J. Wong
2024-10-11 1:19 ` [PATCH 20/38] xfs_repair: refactor marking of metadata inodes Darrick J. Wong
2024-10-11 1:19 ` [PATCH 21/38] xfs_repair: refactor root directory initialization Darrick J. Wong
2024-10-11 1:19 ` [PATCH 22/38] xfs_repair: refactor grabbing realtime metadata inodes Darrick J. Wong
2024-10-11 1:20 ` [PATCH 23/38] xfs_repair: check metadata inode flag Darrick J. Wong
2024-10-11 1:20 ` [PATCH 24/38] xfs_repair: use libxfs_metafile_iget for quota/rt inodes Darrick J. Wong
2024-10-11 1:20 ` [PATCH 25/38] xfs_repair: rebuild the metadata directory Darrick J. Wong
2024-10-11 1:20 ` [PATCH 26/38] xfs_repair: don't let metadata and regular files mix Darrick J. Wong
2024-10-11 1:21 ` [PATCH 27/38] xfs_repair: update incore metadata state whenever we create new files Darrick J. Wong
2024-10-11 1:21 ` [PATCH 28/38] xfs_repair: pass private data pointer to scan_lbtree Darrick J. Wong
2024-10-11 1:21 ` [PATCH 29/38] xfs_repair: mark space used by metadata files Darrick J. Wong
2024-10-11 1:21 ` [PATCH 30/38] xfs_repair: adjust keep_fsinos to handle metadata directories Darrick J. Wong
2024-10-11 1:22 ` [PATCH 31/38] xfs_repair: metadata dirs are never plausible root dirs Darrick J. Wong
2024-10-11 1:22 ` [PATCH 32/38] xfs_repair: drop all the metadata directory files during pass 4 Darrick J. Wong
2024-10-11 1:22 ` [PATCH 33/38] xfs_repair: truncate and unmark orphaned metadata inodes Darrick J. Wong
2024-10-11 1:23 ` [PATCH 34/38] xfs_repair: do not count metadata directory files when doing quotacheck Darrick J. Wong
2024-10-11 1:23 ` [PATCH 35/38] xfs_repair: fix maximum file offset comparison Darrick J. Wong
2024-10-11 1:23 ` [PATCH 36/38] xfs_repair: refactor generate_rtinfo Darrick J. Wong
2024-10-11 1:23 ` [PATCH 37/38] mkfs.xfs: enable metadata directories Darrick J. Wong
2024-10-11 1:24 ` [PATCH 38/38] mkfs: add a utility to generate protofiles Darrick J. Wong
2024-10-11 0:36 ` [PATCHSET v5.0 2/5] xfsprogs: preparation for realtime allocation groups Darrick J. Wong
2024-10-11 1:24 ` [PATCH 1/2] libfrog: add memchr_inv Darrick J. Wong
2024-10-11 1:24 ` [PATCH 2/2] xfs_repair: remove calls to xfs_rtb_round{up,down}_rtx Darrick J. Wong
2024-10-11 0:36 ` [PATCHSET v5.0 3/5] xfsprogs: shard the realtime section Darrick J. Wong
2024-10-11 1:24 ` [PATCH 01/43] man: document the rt group geometry ioctl Darrick J. Wong
2024-10-11 1:25 ` [PATCH 02/43] libxfs: port userspace deferred log item to handle rtgroups Darrick J. Wong
2024-10-11 1:25 ` [PATCH 03/43] libxfs: implement some sanity checking for enormous rgcount Darrick J. Wong
2024-10-11 1:25 ` [PATCH 04/43] libfrog: support scrubbing rtgroup metadata paths Darrick J. Wong
2024-10-11 1:25 ` [PATCH 05/43] libfrog: report rt groups in output Darrick J. Wong
2024-10-11 1:26 ` [PATCH 06/43] libfrog: add bitmap_clear Darrick J. Wong
2024-10-11 1:26 ` [PATCH 07/43] xfs_logprint: report realtime EFIs Darrick J. Wong
2024-10-11 1:26 ` [PATCH 08/43] xfs_repair: adjust rtbitmap/rtsummary word updates to handle big endian values Darrick J. Wong
2024-10-11 1:26 ` [PATCH 09/43] xfs_repair: refactor phase4 Darrick J. Wong
2024-10-11 1:27 ` [PATCH 10/43] xfs_repair: refactor offsetof+sizeof to offsetofend Darrick J. Wong
2024-10-11 1:27 ` [PATCH 11/43] xfs_repair: improve rtbitmap discrepancy reporting Darrick J. Wong
2024-10-11 1:27 ` [PATCH 12/43] xfs_repair: simplify rt_lock handling Darrick J. Wong
2024-10-11 1:27 ` [PATCH 13/43] xfs_repair: add a real per-AG bitmap abstraction Darrick J. Wong
2024-10-11 1:28 ` [PATCH 14/43] xfs_repair: support realtime groups Darrick J. Wong
2024-10-11 1:28 ` [PATCH 15/43] repair: use a separate bmaps array for real time groups Darrick J. Wong
2024-10-11 1:28 ` [PATCH 16/43] xfs_repair: find and clobber rtgroup bitmap and summary files Darrick J. Wong
2024-10-11 1:28 ` [PATCH 17/43] xfs_repair: support realtime superblocks Darrick J. Wong
2024-10-11 1:29 ` [PATCH 18/43] xfs_repair: repair rtbitmap and rtsummary block headers Darrick J. Wong
2024-10-11 1:29 ` [PATCH 19/43] xfs_repair: stop tracking duplicate RT extents with rtgroups Darrick J. Wong
2024-10-11 1:29 ` [PATCH 20/43] xfs_db: listify the definition of enum typnm Darrick J. Wong
2024-10-11 1:30 ` [PATCH 21/43] xfs_db: support dumping realtime group data and superblocks Darrick J. Wong
2024-10-11 1:30 ` [PATCH 22/43] xfs_db: support changing the label and uuid of rt superblocks Darrick J. Wong
2024-10-11 1:30 ` [PATCH 23/43] xfs_db: enable conversion of rt space units Darrick J. Wong
2024-10-11 1:30 ` [PATCH 24/43] xfs_db: metadump metadir rt bitmap and summary files Darrick J. Wong
2024-10-11 1:31 ` [PATCH 25/43] xfs_db: metadump realtime devices Darrick J. Wong
2024-10-11 1:31 ` [PATCH 26/43] xfs_db: dump rt bitmap blocks Darrick J. Wong
2024-10-11 1:31 ` [PATCH 27/43] xfs_db: dump rt summary blocks Darrick J. Wong
2024-10-11 1:31 ` [PATCH 28/43] xfs_db: report rt group and block number in the bmap command Darrick J. Wong
2024-10-11 1:32 ` [PATCH 29/43] xfs_mdrestore: restore rt group superblocks to realtime device Darrick J. Wong
2024-10-11 1:32 ` [PATCH 30/43] xfs_io: support scrubbing rtgroup metadata Darrick J. Wong
2024-10-11 1:32 ` [PATCH 31/43] xfs_io: support scrubbing rtgroup metadata paths Darrick J. Wong
2024-10-11 1:32 ` [PATCH 32/43] xfs_io: add a command to display allocation group information Darrick J. Wong
2024-10-11 1:33 ` [PATCH 33/43] xfs_io: add a command to display realtime " Darrick J. Wong
2024-10-11 1:33 ` [PATCH 34/43] xfs_io: display rt group in verbose bmap output Darrick J. Wong
2024-10-11 1:33 ` [PATCH 35/43] xfs_io: display rt group in verbose fsmap output Darrick J. Wong
2024-10-11 1:33 ` [PATCH 36/43] xfs_spaceman: report on realtime group health Darrick J. Wong
2024-10-11 1:34 ` [PATCH 37/43] xfs_scrub: scrub realtime allocation group metadata Darrick J. Wong
2024-10-11 1:34 ` [PATCH 38/43] xfs_scrub: check rtgroup metadata directory connections Darrick J. Wong
2024-10-11 1:34 ` [PATCH 39/43] xfs_scrub: call GETFSMAP for each rt group in parallel Darrick J. Wong
2024-10-11 1:34 ` [PATCH 40/43] xfs_scrub: trim realtime volumes too Darrick J. Wong
2024-10-11 1:35 ` [PATCH 41/43] xfs_scrub: use histograms to speed up phase 8 on the realtime volume Darrick J. Wong
2024-10-11 1:35 ` [PATCH 42/43] mkfs: add headers to realtime bitmap blocks Darrick J. Wong
2024-10-11 1:35 ` [PATCH 43/43] mkfs: format realtime groups Darrick J. Wong
2024-10-11 0:36 ` [PATCHSET v5.0 4/5] xfsprogs: store quota files in the metadir Darrick J. Wong
2024-10-11 1:36 ` [PATCH 1/7] libfrog: scrub quota file metapaths Darrick J. Wong
2024-10-11 1:36 ` [PATCH 2/7] xfs_db: support metadir quotas Darrick J. Wong
2024-10-11 1:36 ` [PATCH 3/7] xfs_repair: refactor quota inumber handling Darrick J. Wong
2024-10-11 1:36 ` [PATCH 4/7] xfs_repair: hoist the secondary sb qflags handling Darrick J. Wong
2024-10-11 1:37 ` [PATCH 5/7] xfs_repair: support quota inodes in the metadata directory Darrick J. Wong
2024-10-11 1:37 ` [PATCH 6/7] xfs_repair: try not to trash qflags on metadir filesystems Darrick J. Wong
2024-10-11 1:37 ` [PATCH 7/7] mkfs: add quota flags when setting up filesystem Darrick J. Wong
2024-10-11 0:36 ` [PATCHSET v5.0 5/5] xfsprogs: enable quota for realtime voluems Darrick J. Wong
2024-10-11 1:37 ` [PATCH 1/2] xfs_quota: report warning limits for realtime space quotas Darrick J. Wong
2024-10-11 1:38 ` [PATCH 2/2] mkfs: enable rt quota options Darrick J. Wong
2024-10-11 0:37 ` [PATCHSET v5.0 1/3] fstests: test XFS metadata directories Darrick J. Wong
2024-10-11 1:38 ` [PATCH 01/11] xfs/122: fix metadirino Darrick J. Wong
2024-10-11 1:38 ` [PATCH 02/11] various: fix finding metadata inode numbers when metadir is enabled Darrick J. Wong
2024-10-11 1:38 ` [PATCH 03/11] xfs/{030,033,178}: forcibly disable metadata directory trees Darrick J. Wong
2024-10-11 1:39 ` [PATCH 04/11] common/repair: patch up repair sb inode value complaints Darrick J. Wong
2024-10-11 1:39 ` [PATCH 05/11] xfs/206: update for metadata directory support Darrick J. Wong
2024-10-11 1:39 ` [PATCH 06/11] xfs/{050,144,153,299,330}: update quota reports to handle metadir trees Darrick J. Wong
2024-10-11 1:39 ` [PATCH 07/11] xfs/509: adjust inumbers accounting for metadata directories Darrick J. Wong
2024-10-11 1:40 ` [PATCH 08/11] xfs/122: adjust " Darrick J. Wong
2024-10-11 1:40 ` [PATCH 09/11] xfs: create fuzz tests " Darrick J. Wong
2024-10-11 1:40 ` [PATCH 10/11] xfs/163: bigger fs for metadir Darrick J. Wong
2024-10-11 1:40 ` [PATCH 11/11] xfs: test metapath repairs Darrick J. Wong
2024-10-11 0:37 ` [PATCHSET v5.0 2/3] xfsprogs: shard the realtime section Darrick J. Wong
2024-10-11 1:41 ` [PATCH 01/16] common/populate: refactor caching of metadumps to a helper Darrick J. Wong
2024-10-11 1:41 ` [PATCH 02/16] common/{fuzzy,populate}: use _scratch_xfs_mdrestore Darrick J. Wong
2024-10-11 1:41 ` [PATCH 03/16] fuzzy: stress data and rt sections of xfs filesystems equally Darrick J. Wong
2024-10-11 1:42 ` [PATCH 04/16] common/ext4: reformat external logs during mdrestore operations Darrick J. Wong
2024-10-11 1:42 ` [PATCH 05/16] common/populate: use metadump v2 format by default for fs metadata snapshots Darrick J. Wong
2024-10-11 1:42 ` [PATCH 06/16] xfs/122: update for rtgroups Darrick J. Wong
2024-10-11 1:42 ` [PATCH 07/16] punch-alternating: detect xfs realtime files with large allocation units Darrick J. Wong
2024-10-11 1:43 ` [PATCH 08/16] xfs/206: update mkfs filtering for rt groups feature Darrick J. Wong
2024-10-11 1:43 ` [PATCH 09/16] common: pass the realtime device to xfs_db when possible Darrick J. Wong
2024-10-11 1:43 ` [PATCH 10/16] xfs/185: update for rtgroups Darrick J. Wong
2024-10-11 1:43 ` [PATCH 11/16] xfs/449: update test to know about xfs_db -R Darrick J. Wong
2024-10-11 1:44 ` [PATCH 12/16] xfs/122: update for rtbitmap headers Darrick J. Wong
2024-10-11 1:44 ` [PATCH 13/16] xfs/271,xfs/556: fix tests to deal with rtgroups output in bmap/fsmap commands Darrick J. Wong
2024-10-11 1:44 ` [PATCH 14/16] common/xfs: capture realtime devices during metadump/mdrestore Darrick J. Wong
2024-10-11 1:44 ` [PATCH 15/16] common/fuzzy: adapt the scrub stress tests to support rtgroups Darrick J. Wong
2024-10-11 1:45 ` [PATCH 16/16] xfs: fix fuzz tests of rtgroups bitmap and summary files Darrick J. Wong
2024-10-11 0:37 ` [PATCHSET v5.0 3/3] fstests: store quota files in the metadir Darrick J. Wong
2024-10-11 1:45 ` [PATCH 1/4] xfs/122: update for segmented rtblock addresses Darrick J. Wong
2024-10-11 1:45 ` [PATCH 2/4] xfs: update tests for quota files in the metadir Darrick J. Wong
2024-10-11 1:45 ` [PATCH 3/4] xfs: test persistent quota flags Darrick J. Wong
2024-10-11 1:46 ` [PATCH 4/4] xfs: fix tests for persistent qflags Darrick J. Wong
2024-10-14 7:50 ` [PATCHBOMB 6.13] xfs: metadata directories and realtime groups Christoph Hellwig
2024-10-15 1:01 ` Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241015182541.GE21853@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=david@fromorbit.com \
--cc=hch@lst.de \
--cc=linux-xfs@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox