diff options
author | David Howells <dhowells@redhat.com> | 2017-07-05 16:25:45 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2017-07-11 06:09:21 -0400 |
commit | 4dfdb71307675b19a54723a556371dad5e3b0083 (patch) | |
tree | de64c40c22ef196fcdfbe0d921af4563bf40a01b | |
parent | c4fac9100456995c10b65c13be84554258ed7fc8 (diff) | |
download | op-kernel-dev-4dfdb71307675b19a54723a556371dad5e3b0083.zip op-kernel-dev-4dfdb71307675b19a54723a556371dad5e3b0083.tar.gz |
orangefs: Implement show_options
Implement the show_options superblock op for orangefs as part of a bid to
rid of s_options and generic_show_options() to make it easier to implement
a context-based mount where the mount options can be passed individually
over a file descriptor.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Mike Marshall <hubcap@omnibond.com>
cc: pvfs2-developers@beowulf-underground.org
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
-rw-r--r-- | fs/orangefs/super.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/fs/orangefs/super.c b/fs/orangefs/super.c index 5c7c273..5a1bed6 100644 --- a/fs/orangefs/super.c +++ b/fs/orangefs/super.c @@ -35,6 +35,19 @@ static const match_table_t tokens = { uint64_t orangefs_features; +static int orangefs_show_options(struct seq_file *m, struct dentry *root) +{ + struct orangefs_sb_info_s *orangefs_sb = ORANGEFS_SB(root->d_sb); + + if (root->d_sb->s_flags & MS_POSIXACL) + seq_puts(m, ",acl"); + if (orangefs_sb->flags & ORANGEFS_OPT_INTR) + seq_puts(m, ",intr"); + if (orangefs_sb->flags & ORANGEFS_OPT_LOCAL_LOCK) + seq_puts(m, ",local_lock"); + return 0; +} + static int parse_mount_options(struct super_block *sb, char *options, int silent) { @@ -305,7 +318,7 @@ static const struct super_operations orangefs_s_ops = { .drop_inode = generic_delete_inode, .statfs = orangefs_statfs, .remount_fs = orangefs_remount_fs, - .show_options = generic_show_options, + .show_options = orangefs_show_options, }; static struct dentry *orangefs_fh_to_dentry(struct super_block *sb, |