From 0dccdae4510ff5603247be871e64a6119647ea2a Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 5 Feb 2025 16:53:27 -0500 Subject: mtab: Use mount IDs instead of dev_t for bfs_fstype() This fixes -fstype on btrfs subvolumes, which previously reported "unknown" due to their dev_t being potentially different from the mount point. Link: https://savannah.gnu.org/bugs/?50859 Link: https://lwn.net/Articles/866582/ --- src/mtab.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/mtab.c') diff --git a/src/mtab.c b/src/mtab.c index 4cbb9a6..40a9885 100644 --- a/src/mtab.c +++ b/src/mtab.c @@ -256,7 +256,7 @@ static int bfs_mtab_fill_types(struct bfs_mtab *mtab) { continue; } - if (trie_set_mem(&mtab->types, &sb.dev, sizeof(sb.dev), mount->type) != 0) { + if (trie_set_mem(&mtab->types, &sb.mnt_id, sizeof(sb.mnt_id), mount->type) != 0) { goto fail; } } @@ -279,7 +279,7 @@ const char *bfs_fstype(const struct bfs_mtab *mtab, const struct bfs_stat *statb } } - const char *type = trie_get_mem(&mtab->types, &statbuf->dev, sizeof(statbuf->dev)); + const char *type = trie_get_mem(&mtab->types, &statbuf->mnt_id, sizeof(statbuf->mnt_id)); if (type) { return type; } else { -- cgit v1.2.3