diff options
author | Amir Goldstein <amir73il@gmail.com> | 2019-01-10 20:04:38 +0300 |
---|---|---|
committer | Jan Kara <jack@suse.cz> | 2019-02-07 18:38:35 +0300 |
commit | ec86ff5689ff9605e2d57e016098764ad9a2fee5 (patch) | |
tree | f5676c9aaa576a90e51ff47ae4d9dfe64daae9f5 | |
parent | 77115225acc67d9ac4b15f04dd138006b9cd1ef2 (diff) | |
download | linux-ec86ff5689ff9605e2d57e016098764ad9a2fee5.tar.xz |
vfs: add vfs_get_fsid() helper
Wrapper around statfs() interface.
Cc: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Jan Kara <jack@suse.cz>
-rw-r--r-- | fs/statfs.c | 14 | ||||
-rw-r--r-- | include/linux/statfs.h | 3 |
2 files changed, 17 insertions, 0 deletions
diff --git a/fs/statfs.c b/fs/statfs.c index f0216629621d..eea7af6f2f22 100644 --- a/fs/statfs.c +++ b/fs/statfs.c @@ -67,6 +67,20 @@ static int statfs_by_dentry(struct dentry *dentry, struct kstatfs *buf) return retval; } +int vfs_get_fsid(struct dentry *dentry, __kernel_fsid_t *fsid) +{ + struct kstatfs st; + int error; + + error = statfs_by_dentry(dentry, &st); + if (error) + return error; + + *fsid = st.f_fsid; + return 0; +} +EXPORT_SYMBOL(vfs_get_fsid); + int vfs_statfs(const struct path *path, struct kstatfs *buf) { int error; diff --git a/include/linux/statfs.h b/include/linux/statfs.h index 3142e98546ac..9bc69edb8f18 100644 --- a/include/linux/statfs.h +++ b/include/linux/statfs.h @@ -41,4 +41,7 @@ struct kstatfs { #define ST_NODIRATIME 0x0800 /* do not update directory access times */ #define ST_RELATIME 0x1000 /* update atime relative to mtime/ctime */ +struct dentry; +extern int vfs_get_fsid(struct dentry *dentry, __kernel_fsid_t *fsid); + #endif |