aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiro SEKIBA <jir@unicus.jp>2009-06-24 07:06:34 -0400
committerRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>2009-09-14 05:27:13 -0400
commitb58a285ba40866e22e5876969a8f796a74311d9e (patch)
tree9a667fdb99c0429c1871da626cb7589dec54adb7
parent143511046765504d2d1be633efd710f8d84e0407 (diff)
nilfs2: implement nilfs_show_options to display mount options in /proc/mounts
This is a patch to display mount options in procfs. Mount options will show up in the /proc/mounts as other fs does. ... /dev/sda6 /mnt nilfs2 ro,relatime,barrier=off,cp=3,order=strict 0 0 ... Signed-off-by: Jiro SEKIBA <jir@unicus.jp> Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
-rw-r--r--fs/nilfs2/super.c24
1 files changed, 23 insertions, 1 deletions
diff --git a/fs/nilfs2/super.c b/fs/nilfs2/super.c
index 151964f0de4c..ebbefb9d26c9 100644
--- a/fs/nilfs2/super.c
+++ b/fs/nilfs2/super.c
@@ -50,6 +50,8 @@
50#include <linux/writeback.h> 50#include <linux/writeback.h>
51#include <linux/kobject.h> 51#include <linux/kobject.h>
52#include <linux/exportfs.h> 52#include <linux/exportfs.h>
53#include <linux/seq_file.h>
54#include <linux/mount.h>
53#include "nilfs.h" 55#include "nilfs.h"
54#include "mdt.h" 56#include "mdt.h"
55#include "alloc.h" 57#include "alloc.h"
@@ -529,6 +531,26 @@ static int nilfs_statfs(struct dentry *dentry, struct kstatfs *buf)
529 return 0; 531 return 0;
530} 532}
531 533
534static int nilfs_show_options(struct seq_file *seq, struct vfsmount *vfs)
535{
536 struct super_block *sb = vfs->mnt_sb;
537 struct nilfs_sb_info *sbi = NILFS_SB(sb);
538
539 if (!nilfs_test_opt(sbi, BARRIER))
540 seq_printf(seq, ",barrier=off");
541 if (nilfs_test_opt(sbi, SNAPSHOT))
542 seq_printf(seq, ",cp=%llu",
543 (unsigned long long int)sbi->s_snapshot_cno);
544 if (nilfs_test_opt(sbi, ERRORS_RO))
545 seq_printf(seq, ",errors=remount-ro");
546 if (nilfs_test_opt(sbi, ERRORS_PANIC))
547 seq_printf(seq, ",errors=panic");
548 if (nilfs_test_opt(sbi, STRICT_ORDER))
549 seq_printf(seq, ",order=strict");
550
551 return 0;
552}
553
532static struct super_operations nilfs_sops = { 554static struct super_operations nilfs_sops = {
533 .alloc_inode = nilfs_alloc_inode, 555 .alloc_inode = nilfs_alloc_inode,
534 .destroy_inode = nilfs_destroy_inode, 556 .destroy_inode = nilfs_destroy_inode,
@@ -546,7 +568,7 @@ static struct super_operations nilfs_sops = {
546 .remount_fs = nilfs_remount, 568 .remount_fs = nilfs_remount,
547 .clear_inode = nilfs_clear_inode, 569 .clear_inode = nilfs_clear_inode,
548 /* .umount_begin */ 570 /* .umount_begin */
549 /* .show_options */ 571 .show_options = nilfs_show_options
550}; 572};
551 573
552static struct inode * 574static struct inode *