tag name | metadir_2021-12-15 (f9d5862f645f4e264ca618943afbecd0c3b811d6) |
tag date | 2021-12-15 17:30:59 -0800 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit 34afc9d9dc... |
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+H93GTRKtOsFAmG6ltMACgkQ+H93GTRK
tOv+Pw//XYUJ7jpGc3PK2xFKXLS0ffQvoxTGWeqV0xZj19bJYb4vQ0VDFDNrc5nN
k0sNAbL2gU9mWVzdEJAjamaF4MuMHwYFE4auRselF59HLhQJ06+jwuadRUgrszhy
Sf3N5tktNry518UlbxuMS0Wdy4heNxHL0gbRowUKC44UbT4I9J681TUU+kaSDbuu
C2IsAYWTpQ7HrL7c0v5+l/a8P7mBDjHOntJohHsUSoD/G0gajIkk+PdJIkA8mg8l
AYDN6ZjrIYjxD7g6XmieyhrrTOYqBZRkf0YOb4ohD15zLO+I5o38deU7mDz/cJrf
CDaAEBUXSfu5M+vLz9L0M3FWm7wJg5qxrjisRj3WlJRGQTWIQhyX92V8V2jgK/oa
FrZKPcBrF/ShaLIwo6yXKf391mKstZ19QxDxU3u4+woVaR7OV2NiZ8gm4kxNhOqh
ZcLu20bjgosoVHezMC/0e4aS+bNYS1lo1g26va2KTmQn2Ttfa3dPXYDu1mGyJBbf
lKp2cWOQnhMMS8807raKttxYz4D1wOrt9+D4FcizxWod7oTwo+6kV6MnEBH7Yuzo
xKpRqkw+wXqC8xeNfgQE+F2l2Ohwd4i2+mmtTl1Gavf/YnIijmDwWXDMiAP5xrnm
z0fcAokUlaZLqgvwTvgYJEFh1wqCi9dxVQT9SMWQoTMuEpJxpv0=
=HndW
-----END PGP SIGNATURE-----