Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0d85c799 authored by Al Viro's avatar Al Viro
Browse files

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: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 71a1c012
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -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);
}
+6 −5
Original line number Diff line number Diff line
@@ -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);
}
+1 −2
Original line number Diff line number Diff line
@@ -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);

+1 −6
Original line number Diff line number Diff line
@@ -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.