From 0689a4a16f5e80e0c2368f4a68c69ce5f2fdc038 Mon Sep 17 00:00:00 2001 From: Tavian Barnes Date: Wed, 13 Feb 2019 11:12:30 -0500 Subject: bftw: Work around d_type being wrong for bind mounts on Linux C.f. https://savannah.gnu.org/bugs/?54913 C.f. https://lkml.org/lkml/2019/2/11/2027 Fixes https://github.com/tavianator/bfs/issues/37 --- mtab.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'mtab.h') diff --git a/mtab.h b/mtab.h index ef22716..a80deb2 100644 --- a/mtab.h +++ b/mtab.h @@ -22,6 +22,7 @@ #define BFS_MTAB_H #include "stat.h" +#include /** * A file system mount table. @@ -31,7 +32,8 @@ struct bfs_mtab; /** * Parse the mount table. * - * @return The parsed mount table, or NULL on error. + * @return + * The parsed mount table, or NULL on error. */ struct bfs_mtab *parse_bfs_mtab(void); @@ -42,11 +44,24 @@ struct bfs_mtab *parse_bfs_mtab(void); * The current mount table. * @param statbuf * The bfs_stat() buffer for the file in question. - * @return The type of file system containing this file, "unknown" if not known, + * @return + * The type of file system containing this file, "unknown" if not known, * or NULL on error. */ const char *bfs_fstype(const struct bfs_mtab *mtab, const struct bfs_stat *statbuf); +/** + * Check if a file could be a mount point. + * + * @param mtab + * The current mount table. + * @param path + * The path to check. + * @return + * Whether the named file could be a mount point. + */ +bool bfs_maybe_mount(const struct bfs_mtab *mtab, const char *path); + /** * Free a mount table. */ -- cgit v1.2.3