diff options
Diffstat (limited to 'fs/isofs')
-rw-r--r-- | fs/isofs/inode.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c index 58a7963e168a..6b4dcd4f2943 100644 --- a/fs/isofs/inode.c +++ b/fs/isofs/inode.c | |||
@@ -46,10 +46,7 @@ static void isofs_put_super(struct super_block *sb) | |||
46 | #ifdef CONFIG_JOLIET | 46 | #ifdef CONFIG_JOLIET |
47 | lock_kernel(); | 47 | lock_kernel(); |
48 | 48 | ||
49 | if (sbi->s_nls_iocharset) { | 49 | unload_nls(sbi->s_nls_iocharset); |
50 | unload_nls(sbi->s_nls_iocharset); | ||
51 | sbi->s_nls_iocharset = NULL; | ||
52 | } | ||
53 | 50 | ||
54 | unlock_kernel(); | 51 | unlock_kernel(); |
55 | #endif | 52 | #endif |
@@ -142,6 +139,7 @@ static const struct dentry_operations isofs_dentry_ops[] = { | |||
142 | 139 | ||
143 | struct iso9660_options{ | 140 | struct iso9660_options{ |
144 | unsigned int rock:1; | 141 | unsigned int rock:1; |
142 | unsigned int joliet:1; | ||
145 | unsigned int cruft:1; | 143 | unsigned int cruft:1; |
146 | unsigned int hide:1; | 144 | unsigned int hide:1; |
147 | unsigned int showassoc:1; | 145 | unsigned int showassoc:1; |
@@ -151,7 +149,6 @@ struct iso9660_options{ | |||
151 | unsigned int gid_set:1; | 149 | unsigned int gid_set:1; |
152 | unsigned int utf8:1; | 150 | unsigned int utf8:1; |
153 | unsigned char map; | 151 | unsigned char map; |
154 | char joliet; | ||
155 | unsigned char check; | 152 | unsigned char check; |
156 | unsigned int blocksize; | 153 | unsigned int blocksize; |
157 | mode_t fmode; | 154 | mode_t fmode; |
@@ -632,7 +629,7 @@ static int isofs_fill_super(struct super_block *s, void *data, int silent) | |||
632 | else if (isonum_711(vdp->type) == ISO_VD_SUPPLEMENTARY) { | 629 | else if (isonum_711(vdp->type) == ISO_VD_SUPPLEMENTARY) { |
633 | sec = (struct iso_supplementary_descriptor *)vdp; | 630 | sec = (struct iso_supplementary_descriptor *)vdp; |
634 | if (sec->escape[0] == 0x25 && sec->escape[1] == 0x2f) { | 631 | if (sec->escape[0] == 0x25 && sec->escape[1] == 0x2f) { |
635 | if (opt.joliet == 'y') { | 632 | if (opt.joliet) { |
636 | if (sec->escape[2] == 0x40) | 633 | if (sec->escape[2] == 0x40) |
637 | joliet_level = 1; | 634 | joliet_level = 1; |
638 | else if (sec->escape[2] == 0x43) | 635 | else if (sec->escape[2] == 0x43) |
@@ -912,8 +909,7 @@ out_no_root: | |||
912 | printk(KERN_WARNING "%s: get root inode failed\n", __func__); | 909 | printk(KERN_WARNING "%s: get root inode failed\n", __func__); |
913 | out_no_inode: | 910 | out_no_inode: |
914 | #ifdef CONFIG_JOLIET | 911 | #ifdef CONFIG_JOLIET |
915 | if (sbi->s_nls_iocharset) | 912 | unload_nls(sbi->s_nls_iocharset); |
916 | unload_nls(sbi->s_nls_iocharset); | ||
917 | #endif | 913 | #endif |
918 | goto out_freesbi; | 914 | goto out_freesbi; |
919 | out_no_read: | 915 | out_no_read: |