diff options
Diffstat (limited to 'fs/squashfs')
-rw-r--r-- | fs/squashfs/dir.c | 3 | ||||
-rw-r--r-- | fs/squashfs/super.c | 15 |
2 files changed, 6 insertions, 12 deletions
diff --git a/fs/squashfs/dir.c b/fs/squashfs/dir.c index 12b933ac6585..0dc340aa2be9 100644 --- a/fs/squashfs/dir.c +++ b/fs/squashfs/dir.c | |||
@@ -230,5 +230,6 @@ failed_read: | |||
230 | 230 | ||
231 | const struct file_operations squashfs_dir_ops = { | 231 | const struct file_operations squashfs_dir_ops = { |
232 | .read = generic_read_dir, | 232 | .read = generic_read_dir, |
233 | .readdir = squashfs_readdir | 233 | .readdir = squashfs_readdir, |
234 | .llseek = default_llseek, | ||
234 | }; | 235 | }; |
diff --git a/fs/squashfs/super.c b/fs/squashfs/super.c index 88b4f8606652..24de30ba34c1 100644 --- a/fs/squashfs/super.c +++ b/fs/squashfs/super.c | |||
@@ -30,7 +30,6 @@ | |||
30 | #include <linux/fs.h> | 30 | #include <linux/fs.h> |
31 | #include <linux/vfs.h> | 31 | #include <linux/vfs.h> |
32 | #include <linux/slab.h> | 32 | #include <linux/slab.h> |
33 | #include <linux/smp_lock.h> | ||
34 | #include <linux/mutex.h> | 33 | #include <linux/mutex.h> |
35 | #include <linux/pagemap.h> | 34 | #include <linux/pagemap.h> |
36 | #include <linux/init.h> | 35 | #include <linux/init.h> |
@@ -354,8 +353,6 @@ static int squashfs_remount(struct super_block *sb, int *flags, char *data) | |||
354 | 353 | ||
355 | static void squashfs_put_super(struct super_block *sb) | 354 | static void squashfs_put_super(struct super_block *sb) |
356 | { | 355 | { |
357 | lock_kernel(); | ||
358 | |||
359 | if (sb->s_fs_info) { | 356 | if (sb->s_fs_info) { |
360 | struct squashfs_sb_info *sbi = sb->s_fs_info; | 357 | struct squashfs_sb_info *sbi = sb->s_fs_info; |
361 | squashfs_cache_delete(sbi->block_cache); | 358 | squashfs_cache_delete(sbi->block_cache); |
@@ -370,17 +367,13 @@ static void squashfs_put_super(struct super_block *sb) | |||
370 | kfree(sb->s_fs_info); | 367 | kfree(sb->s_fs_info); |
371 | sb->s_fs_info = NULL; | 368 | sb->s_fs_info = NULL; |
372 | } | 369 | } |
373 | |||
374 | unlock_kernel(); | ||
375 | } | 370 | } |
376 | 371 | ||
377 | 372 | ||
378 | static int squashfs_get_sb(struct file_system_type *fs_type, int flags, | 373 | static struct dentry *squashfs_mount(struct file_system_type *fs_type, int flags, |
379 | const char *dev_name, void *data, | 374 | const char *dev_name, void *data) |
380 | struct vfsmount *mnt) | ||
381 | { | 375 | { |
382 | return get_sb_bdev(fs_type, flags, dev_name, data, squashfs_fill_super, | 376 | return mount_bdev(fs_type, flags, dev_name, data, squashfs_fill_super); |
383 | mnt); | ||
384 | } | 377 | } |
385 | 378 | ||
386 | 379 | ||
@@ -456,7 +449,7 @@ static void squashfs_destroy_inode(struct inode *inode) | |||
456 | static struct file_system_type squashfs_fs_type = { | 449 | static struct file_system_type squashfs_fs_type = { |
457 | .owner = THIS_MODULE, | 450 | .owner = THIS_MODULE, |
458 | .name = "squashfs", | 451 | .name = "squashfs", |
459 | .get_sb = squashfs_get_sb, | 452 | .mount = squashfs_mount, |
460 | .kill_sb = kill_block_super, | 453 | .kill_sb = kill_block_super, |
461 | .fs_flags = FS_REQUIRES_DEV | 454 | .fs_flags = FS_REQUIRES_DEV |
462 | }; | 455 | }; |