aboutsummaryrefslogtreecommitdiffstats
path: root/fs/udf/super.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/udf/super.c')
-rw-r--r--fs/udf/super.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/fs/udf/super.c b/fs/udf/super.c
index 1e4543cbcd27..65412d84a45d 100644
--- a/fs/udf/super.c
+++ b/fs/udf/super.c
@@ -175,8 +175,7 @@ static const struct super_operations udf_sb_ops = {
175 .alloc_inode = udf_alloc_inode, 175 .alloc_inode = udf_alloc_inode,
176 .destroy_inode = udf_destroy_inode, 176 .destroy_inode = udf_destroy_inode,
177 .write_inode = udf_write_inode, 177 .write_inode = udf_write_inode,
178 .delete_inode = udf_delete_inode, 178 .evict_inode = udf_evict_inode,
179 .clear_inode = udf_clear_inode,
180 .put_super = udf_put_super, 179 .put_super = udf_put_super,
181 .sync_fs = udf_sync_fs, 180 .sync_fs = udf_sync_fs,
182 .statfs = udf_statfs, 181 .statfs = udf_statfs,
@@ -557,6 +556,7 @@ static int udf_remount_fs(struct super_block *sb, int *flags, char *options)
557{ 556{
558 struct udf_options uopt; 557 struct udf_options uopt;
559 struct udf_sb_info *sbi = UDF_SB(sb); 558 struct udf_sb_info *sbi = UDF_SB(sb);
559 int error = 0;
560 560
561 uopt.flags = sbi->s_flags; 561 uopt.flags = sbi->s_flags;
562 uopt.uid = sbi->s_uid; 562 uopt.uid = sbi->s_uid;
@@ -582,17 +582,17 @@ static int udf_remount_fs(struct super_block *sb, int *flags, char *options)
582 *flags |= MS_RDONLY; 582 *flags |= MS_RDONLY;
583 } 583 }
584 584
585 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY)) { 585 if ((*flags & MS_RDONLY) == (sb->s_flags & MS_RDONLY))
586 unlock_kernel(); 586 goto out_unlock;
587 return 0; 587
588 }
589 if (*flags & MS_RDONLY) 588 if (*flags & MS_RDONLY)
590 udf_close_lvid(sb); 589 udf_close_lvid(sb);
591 else 590 else
592 udf_open_lvid(sb); 591 udf_open_lvid(sb);
593 592
593out_unlock:
594 unlock_kernel(); 594 unlock_kernel();
595 return 0; 595 return error;
596} 596}
597 597
598/* Check Volume Structure Descriptors (ECMA 167 2/9.1) */ 598/* Check Volume Structure Descriptors (ECMA 167 2/9.1) */
@@ -1578,9 +1578,7 @@ static int udf_load_sequence(struct super_block *sb, struct buffer_head *bh,
1578{ 1578{
1579 struct anchorVolDescPtr *anchor; 1579 struct anchorVolDescPtr *anchor;
1580 long main_s, main_e, reserve_s, reserve_e; 1580 long main_s, main_e, reserve_s, reserve_e;
1581 struct udf_sb_info *sbi;
1582 1581
1583 sbi = UDF_SB(sb);
1584 anchor = (struct anchorVolDescPtr *)bh->b_data; 1582 anchor = (struct anchorVolDescPtr *)bh->b_data;
1585 1583
1586 /* Locate the main sequence */ 1584 /* Locate the main sequence */
@@ -1939,7 +1937,7 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
1939 /* Fill in the rest of the superblock */ 1937 /* Fill in the rest of the superblock */
1940 sb->s_op = &udf_sb_ops; 1938 sb->s_op = &udf_sb_ops;
1941 sb->s_export_op = &udf_export_ops; 1939 sb->s_export_op = &udf_export_ops;
1942 sb->dq_op = NULL; 1940
1943 sb->s_dirt = 0; 1941 sb->s_dirt = 0;
1944 sb->s_magic = UDF_SUPER_MAGIC; 1942 sb->s_magic = UDF_SUPER_MAGIC;
1945 sb->s_time_gran = 1000; 1943 sb->s_time_gran = 1000;