summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2010-07-26 11:33:39 +0400
committerAl Viro <viro@zeniv.linux.org.uk>2010-10-29 04:16:43 -0400
commit0d85c799623cb6022adb1317ed2987ab9c097c2e (patch)
treea33fe3c19c33ff9b5944002c193e3a5da4d942a3 /fs
parent71a1c0125f132b2a4656689ca585c5d8931e539c (diff)
downloadlinux-0d85c799623cb6022adb1317ed2987ab9c097c2e.tar.gz
logfs get_sb, part 2
take setting s_bdev/s_mtd/s_devops to callers of logfs_get_sb_device(),
don't bother passing them separately

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs')
-rw-r--r--fs/logfs/dev_bdev.c6
-rw-r--r--fs/logfs/dev_mtd.c11
-rw-r--r--fs/logfs/logfs.h3
-rw-r--r--fs/logfs/super.c7
4 files changed, 13 insertions, 14 deletions
diff --git a/fs/logfs/dev_bdev.c b/fs/logfs/dev_bdev.c
index bca8e2a8e55b..a322fec10173 100644
--- a/fs/logfs/dev_bdev.c
+++ b/fs/logfs/dev_bdev.c
@@ -339,5 +339,9 @@ int logfs_get_sb_bdev(struct logfs_super *p,
 		return logfs_get_sb_mtd(p, type, flags, mtdnr, mnt);
 	}
 
-	return logfs_get_sb_device(p, type, flags, NULL, bdev, &bd_devops, mnt);
+	p->s_bdev = bdev;
+	p->s_mtd = NULL;
+	p->s_devops = &bd_devops;
+
+	return logfs_get_sb_device(p, type, flags, mnt);
 }
diff --git a/fs/logfs/dev_mtd.c b/fs/logfs/dev_mtd.c
index e886cdcf9d7e..7b22d57d1469 100644
--- a/fs/logfs/dev_mtd.c
+++ b/fs/logfs/dev_mtd.c
@@ -269,13 +269,14 @@ int logfs_get_sb_mtd(struct logfs_super *s,
 		struct file_system_type *type, int flags,
 		int mtdnr, struct vfsmount *mnt)
 {
-	struct mtd_info *mtd;
-	const struct logfs_device_ops *devops = &mtd_devops;
-
-	mtd = get_mtd_device(NULL, mtdnr);
+	struct mtd_info *mtd = get_mtd_device(NULL, mtdnr);
 	if (IS_ERR(mtd)) {
 		kfree(s);
 		return PTR_ERR(mtd);
 	}
-	return logfs_get_sb_device(s, type, flags, mtd, NULL, devops, mnt);
+
+	s->s_bdev = NULL;
+	s->s_mtd = mtd;
+	s->s_devops = &mtd_devops;
+	return logfs_get_sb_device(s, type, flags, mnt);
 }
diff --git a/fs/logfs/logfs.h b/fs/logfs/logfs.h
index a3f0aba9e526..bdd56fa4b084 100644
--- a/fs/logfs/logfs.h
+++ b/fs/logfs/logfs.h
@@ -627,8 +627,7 @@ void *memchr_inv(const void *s, int c, size_t n);
 int logfs_statfs(struct dentry *dentry, struct kstatfs *stats);
 int logfs_get_sb_device(struct logfs_super *s,
 		struct file_system_type *type, int flags,
-		struct mtd_info *mtd, struct block_device *bdev,
-		const struct logfs_device_ops *devops, struct vfsmount *mnt);
+		struct vfsmount *mnt);
 int logfs_check_ds(struct logfs_disk_super *ds);
 int logfs_write_sb(struct super_block *sb);
 
diff --git a/fs/logfs/super.c b/fs/logfs/super.c
index 5e43178add98..c80837e54bb3 100644
--- a/fs/logfs/super.c
+++ b/fs/logfs/super.c
@@ -538,8 +538,7 @@ static void logfs_kill_sb(struct super_block *sb)
 
 int logfs_get_sb_device(struct logfs_super *super,
 		struct file_system_type *type, int flags,
-		struct mtd_info *mtd, struct block_device *bdev,
-		const struct logfs_device_ops *devops, struct vfsmount *mnt)
+		struct vfsmount *mnt)
 {
 	struct super_block *sb;
 	int err = -ENOMEM;
@@ -547,8 +546,6 @@ int logfs_get_sb_device(struct logfs_super *super,
 
 	log_super("LogFS: Start mount %x\n", mount_count++);
 
-	super->s_mtd	= mtd;
-	super->s_bdev	= bdev;
 	err = -EINVAL;
 	sb = sget(type, logfs_sb_test, logfs_sb_set, super);
 	if (IS_ERR(sb))
@@ -561,8 +558,6 @@ int logfs_get_sb_device(struct logfs_super *super,
 		goto err0;
 	}
 
-	super->s_devops = devops;
-
 	/*
 	 * sb->s_maxbytes is limited to 8TB.  On 32bit systems, the page cache
 	 * only covers 16TB and the upper 8TB are used for indirect blocks.