summaryrefslogtreecommitdiff
tag namemetadir_2022-11-09 (b962fc961686feb36a84d1da3fa237c6f9751f3c)
tag date2022-11-09 19:10:26 -0800
tagged byDarrick J. Wong <djwong@kernel.org>
tagged objectcommit 668601466c...
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+H93GTRKtOsFAmNsa6IACgkQ+H93GTRK tOu9PQ/9Gt7A3tMoVyMax1pO/YUjYWrgoutvaDRa7npQNNfrU1pGAoEC3P0hBia+ jFPG2GN5VwooUDfUAuDj2lV6DTaf5IQ6WckEoap9kjK7x1WJ8FTrSB9HNmgOuo76 bQBVkurev9G6fLunrOKlvOrs86FzHxJJGh5lnmN91gXeDTmpd/Zz5njkCCLacefk k74N3Pzv3l3tCzpeedB7qGfunv0byAamVqvM+/9jcyB5kh8LR7vej1hOQ7pywhTT sAXLGRkte7lCEUrFWQzdytxI7q4lM5wh7rT8rN1drHv5rmQ4K6HY1+cuhuHG3JUt JSadjWTG/a2hHdMrdhno2h4b4JwLNrF1G8Agq0VkfZXcupQzwiGVaaFjL+dkzpA+ MFG9jEAuZLMur0/Zti8EgEJvDyep455cElKSCmy6cx6EQwk2/vuIGvs51Eofb5gE QspBxAbRVQgngIRZ+ha2dr9szjjPOgOQimtGjW2W2xnFh5q6wIYuq+UOkz65DnA5 XZkTZbdNCM+ufQO03qJ0EmJXMX2e3PCK1G3rozQJpaBO7kt83SgVGuludFrUSKUf 2UUsrW+HthOtyFRKpxd/GV1bTIyP1Oxr3MgeYzQaK7R6idT1AImNIEj+fPgGMRi1 IZ2ei3GPVh4JD78uo7io1DXHV2GKCwJFWHulyOG5YQSyNZGR3PU= =JFgJ -----END PGP SIGNATURE-----