tag name | metadir_2022-10-14 (e32c79a4cbf42da7a92b64a43ea8080a9b0c2032) |
tag date | 2022-10-14 14:19:06 -0700 |
tagged by | Darrick J. Wong <djwong@kernel.org> |
tagged object | commit a061ea60cc... |
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.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEUzaAxoMeQq6m2jMV+H93GTRKtOsFAmNJ0koACgkQ+H93GTRK
tOux4xAAmUMjBN7R8pShQGucH9i+4GKf2I825Z1y4sbzEi8X4OpvWoSH+nXcU9wM
FTg9H8fQnSjOZ4xfBphXMByamJpzyPiBBeZy9uCBdggck9GxoiU66voBlMhQEWMk
EHNZTMgCj+nTxHzuvxmZcVs0UZiHgZSmcJMF9L2x4dnogYVh843HxOx60f5dc/in
IGf6JqMdsJ1l6fkXjtlBi+lWHEfqmw3lECe0EoA1beD4KHF6C0/32S3EH56d9W1a
2aYqJkm3my5PykabBDfTTYim3YXnOLeCmNZYxLA47x5wqX0f0mMLiTez2sUyAJL+
3+MYr2w5aHbENtka1hlyxDIUlZj97yeRQcqPelyJd51bUTg3Rpz1GxQHsEs4YskC
6DLlLGKfZt88OhDfzwcnSBC2z4xW/mKaRwhDzMeb36sqHuPVk8xEuXaISGCBmWMA
fmwsxES3+uJegxMcUaYWimNW3L4RdPxP8Td5QMsZh1qH4KkXVABpTooH5A4cb9AU
6U403z+o9r2nWFlWbWB6DEaj5cW2GzsH8wOSqk7s4VOVaE1M6yN2Vfp4+nhlmkuB
NBVmZd+nkF71Ci7e7lCQ4UIQGesfpRF/jE3RLHDs1Y1NOL48ksZMeVCHVK0EWOjC
VUgkwqTq7aOQ/6t7/2THMKoVrqB7TqwMaJKYOYeLuKE/GDaIX/g=
=KiF2
-----END PGP SIGNATURE-----