diff options
Diffstat (limited to 'fs/fat/inode.c')
-rw-r--r-- | fs/fat/inode.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index acf6e479b443..93fbc8a7f098 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
@@ -814,8 +814,6 @@ static int fat_show_options(struct seq_file *m, struct dentry *root) | |||
814 | seq_puts(m, ",usefree"); | 814 | seq_puts(m, ",usefree"); |
815 | if (opts->quiet) | 815 | if (opts->quiet) |
816 | seq_puts(m, ",quiet"); | 816 | seq_puts(m, ",quiet"); |
817 | if (opts->nfs) | ||
818 | seq_puts(m, ",nfs"); | ||
819 | if (opts->showexec) | 817 | if (opts->showexec) |
820 | seq_puts(m, ",showexec"); | 818 | seq_puts(m, ",showexec"); |
821 | if (opts->sys_immutable) | 819 | if (opts->sys_immutable) |
@@ -849,6 +847,10 @@ static int fat_show_options(struct seq_file *m, struct dentry *root) | |||
849 | seq_puts(m, ",errors=panic"); | 847 | seq_puts(m, ",errors=panic"); |
850 | else | 848 | else |
851 | seq_puts(m, ",errors=remount-ro"); | 849 | seq_puts(m, ",errors=remount-ro"); |
850 | if (opts->nfs == FAT_NFS_NOSTALE_RO) | ||
851 | seq_puts(m, ",nfs=nostale_ro"); | ||
852 | else if (opts->nfs) | ||
853 | seq_puts(m, ",nfs=stale_rw"); | ||
852 | if (opts->discard) | 854 | if (opts->discard) |
853 | seq_puts(m, ",discard"); | 855 | seq_puts(m, ",discard"); |
854 | 856 | ||
@@ -865,7 +867,7 @@ enum { | |||
865 | Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, | 867 | Opt_uni_xl_no, Opt_uni_xl_yes, Opt_nonumtail_no, Opt_nonumtail_yes, |
866 | Opt_obsolete, Opt_flush, Opt_tz_utc, Opt_rodir, Opt_err_cont, | 868 | Opt_obsolete, Opt_flush, Opt_tz_utc, Opt_rodir, Opt_err_cont, |
867 | Opt_err_panic, Opt_err_ro, Opt_discard, Opt_nfs, Opt_time_offset, | 869 | Opt_err_panic, Opt_err_ro, Opt_discard, Opt_nfs, Opt_time_offset, |
868 | Opt_err, | 870 | Opt_nfs_stale_rw, Opt_nfs_nostale_ro, Opt_err, |
869 | }; | 871 | }; |
870 | 872 | ||
871 | static const match_table_t fat_tokens = { | 873 | static const match_table_t fat_tokens = { |
@@ -895,7 +897,9 @@ static const match_table_t fat_tokens = { | |||
895 | {Opt_err_panic, "errors=panic"}, | 897 | {Opt_err_panic, "errors=panic"}, |
896 | {Opt_err_ro, "errors=remount-ro"}, | 898 | {Opt_err_ro, "errors=remount-ro"}, |
897 | {Opt_discard, "discard"}, | 899 | {Opt_discard, "discard"}, |
898 | {Opt_nfs, "nfs"}, | 900 | {Opt_nfs_stale_rw, "nfs"}, |
901 | {Opt_nfs_stale_rw, "nfs=stale_rw"}, | ||
902 | {Opt_nfs_nostale_ro, "nfs=nostale_ro"}, | ||
899 | {Opt_obsolete, "conv=binary"}, | 903 | {Opt_obsolete, "conv=binary"}, |
900 | {Opt_obsolete, "conv=text"}, | 904 | {Opt_obsolete, "conv=text"}, |
901 | {Opt_obsolete, "conv=auto"}, | 905 | {Opt_obsolete, "conv=auto"}, |
@@ -1092,6 +1096,12 @@ static int parse_options(struct super_block *sb, char *options, int is_vfat, | |||
1092 | case Opt_err_ro: | 1096 | case Opt_err_ro: |
1093 | opts->errors = FAT_ERRORS_RO; | 1097 | opts->errors = FAT_ERRORS_RO; |
1094 | break; | 1098 | break; |
1099 | case Opt_nfs_stale_rw: | ||
1100 | opts->nfs = FAT_NFS_STALE_RW; | ||
1101 | break; | ||
1102 | case Opt_nfs_nostale_ro: | ||
1103 | opts->nfs = FAT_NFS_NOSTALE_RO; | ||
1104 | break; | ||
1095 | 1105 | ||
1096 | /* msdos specific */ | 1106 | /* msdos specific */ |
1097 | case Opt_dots: | 1107 | case Opt_dots: |
@@ -1150,9 +1160,6 @@ static int parse_options(struct super_block *sb, char *options, int is_vfat, | |||
1150 | case Opt_discard: | 1160 | case Opt_discard: |
1151 | opts->discard = 1; | 1161 | opts->discard = 1; |
1152 | break; | 1162 | break; |
1153 | case Opt_nfs: | ||
1154 | opts->nfs = 1; | ||
1155 | break; | ||
1156 | 1163 | ||
1157 | /* obsolete mount options */ | 1164 | /* obsolete mount options */ |
1158 | case Opt_obsolete: | 1165 | case Opt_obsolete: |
@@ -1183,6 +1190,8 @@ out: | |||
1183 | opts->allow_utime = ~opts->fs_dmask & (S_IWGRP | S_IWOTH); | 1190 | opts->allow_utime = ~opts->fs_dmask & (S_IWGRP | S_IWOTH); |
1184 | if (opts->unicode_xlate) | 1191 | if (opts->unicode_xlate) |
1185 | opts->utf8 = 0; | 1192 | opts->utf8 = 0; |
1193 | if (opts->nfs == FAT_NFS_NOSTALE_RO) | ||
1194 | sb->s_flags |= MS_RDONLY; | ||
1186 | 1195 | ||
1187 | return 0; | 1196 | return 0; |
1188 | } | 1197 | } |