mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs.git
synced 2026-10-30 05:42:46 +01:00
statx: add mount_root
Determining whether a path or file descriptor refers to a mountpoint (or more precisely a mount root) is not trivial using current tools. Add a flag to statx that indicates whether the path or fd refers to the root of a mount or not. Cc: [email protected] Cc: [email protected] Reported-by: Lennart Poettering <[email protected]> Reported-by: J. Bruce Fields <[email protected]> Signed-off-by: Miklos Szeredi <[email protected]> Reviewed-by: Christoph Hellwig <[email protected]>
This commit is contained in:
1 parent
fa2fcf4f1d
commit
80340fe360
2 files changed
+4
No files matched your search
@@ -202,6 +202,9 @@ retry:
|
||||
error = vfs_getattr(&path, stat, request_mask, flags);
|
||||
stat->mnt_id = real_mount(path.mnt)->mnt_id;
|
||||
stat->result_mask |= STATX_MNT_ID;
|
||||
if (path.mnt->mnt_root == path.dentry)
|
||||
stat->attributes |= STATX_ATTR_MOUNT_ROOT;
|
||||
stat->attributes_mask |= STATX_ATTR_MOUNT_ROOT;
|
||||
path_put(&path);
|
||||
if (retry_estale(error, lookup_flags)) {
|
||||
lookup_flags |= LOOKUP_REVAL;
|
||||
|
||||
@@ -181,6 +181,7 @@ struct statx {
|
||||
#define STATX_ATTR_NODUMP 0x00000040 /* [I] File is not to be dumped */
|
||||
#define STATX_ATTR_ENCRYPTED 0x00000800 /* [I] File requires key to decrypt in fs */
|
||||
#define STATX_ATTR_AUTOMOUNT 0x00001000 /* Dir: Automount trigger */
|
||||
#define STATX_ATTR_MOUNT_ROOT 0x00002000 /* Root of a mount */
|
||||
#define STATX_ATTR_VERITY 0x00100000 /* [I] Verity protected file */
|
||||
|
||||
|
||||
|
||||
Reference in new issue
Block a user