tag name | metadir_2021-09-17 (f0ff8a4464a5dbee6f1a1df235fd9180d55531a0) |
tag date | 2021-09-17 18:56:14 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit da5c28dc5a... |
xfs: metadata inode directories
This series delivers a new feature -- metadata inode directories. This
is a separate directory tree (rooted in the superblock) that contains
only inodes that contain filesystem metadata. Different metadata
objects can be looked up with regular paths.
We start by creating xfs_imeta_* functions to mediate access to metadata
inode pointers. This enables the imeta code to abstract inode pointers,
whether they're the classic five in the superblock, or the much more
complex directory tree. All current users of metadata inodes (rt+quota)
are converted to use the boilerplate code.
Next, we define the metadir on-disk format, which consists of marking
inodes with a new iflag that says they're metadata. This we use to
prevent bulkstat and friends from ever getting their hands on fs
metadata.
Finally, we implement metadir operations so that clients can create,
delete, zap, and look up metadata inodes by path. Beware that much of
this code is only lightly used, because the five current users of
metadata inodes don't tend to change them very often. This is likely to
change if and when the subvolume and multiple-rt-volume features get
written/merged/etc.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmFFRz4ACgkQ+H93GTRK
tOuEOA/+LHlt5qzDRrls+wjhoHJ3Yc2/ZvpeX83GIn4Ghfq4ZGDfGOkpTMNDfpGp
GHmN6AmFixAFIFTU784RzmWBPUHqSLkBviMgLBEot1tq9i4SExa/aFDkF6krnnNw
rWEhpEwSLHbctV9DNxRULibVEcfkhLS0yG1jTJMQos0snoQm/J8DK2sUR8Ei9m44
qqxZefXF8xEA0iWjKMMyBNIUw17mRIhLco3ddv1rdgt/ORYlNqCyPFGcy3TtEKue
ybyXjKYfSHclGUBT+Mni2wxlUcreLysOTzSnhlnaDZmEwl/yMfYOOWqscFj6oYuQ
whfqIJUC6v7V/Bqj08VMj/4v4DJdLnftt8tHyE0CO9YFD5TSPOu6/JftKPYnNi8M
WkNUTLCzqcnDC5A0m8iBCreUBrDv3NBgvnKUzVQ5wS7cTu32ZGoyUlyZVslAKS79
ywMMVEKCgMBzNrbhqJmEToqA8w4eiX+UtyZS0dH96ZSl8+CP72vjvG/IRiI7vNjP
i9pTiFcCmjkYEZkpDfhIV2FWtSIbq0GNftPNWxS6veKmw9RYbaySE+e7G6Mz0muZ
rhBgGzDwUFSz18HksM8scOWppbhr4DP2fFygJSBLnk49R5F4L/ZnzBimMZJTgn0A
EpNKRdNwREzMS2I6J9s7SIocaYe78dfn7ckJCntuKLReX98+rSY=
=3Wqw
-----END PGP SIGNATURE-----