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

Commit 91d99827 authored by Alexey Dobriyan's avatar Alexey Dobriyan Committed by Theodore Ts'o
Browse files

ext4: switch to seq_files



Signed-off-by: default avatarAlexey Dobriyan <adobriyan@gmail.com>
Cc: Mingming Cao <cmm@us.ibm.com>
Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 07d45f12
Loading
Loading
Loading
Loading
+34 −34
Original line number Diff line number Diff line
@@ -2583,25 +2583,24 @@ ext4_mb_free_committed_blocks(struct super_block *sb)



#define MB_PROC_VALUE_READ(name)				\
static int ext4_mb_read_##name(char *page, char **start,	\
		off_t off, int count, int *eof, void *data)	\
#define MB_PROC_FOPS(name)					\
static int ext4_mb_##name##_proc_show(struct seq_file *m, void *v)	\
{								\
	struct ext4_sb_info *sbi = data;			\
	int len;						\
	*eof = 1;						\
	if (off != 0)						\
	struct ext4_sb_info *sbi = m->private;			\
								\
	seq_printf(m, "%ld\n", sbi->s_mb_##name);		\
	return 0;						\
	len = sprintf(page, "%ld\n", sbi->s_mb_##name);		\
	*start = page;						\
	return len;						\
}

#define MB_PROC_VALUE_WRITE(name)				\
static int ext4_mb_write_##name(struct file *file,		\
		const char __user *buf, unsigned long cnt, void *data)	\
}								\
								\
static int ext4_mb_##name##_proc_open(struct inode *inode, struct file *file)\
{								\
	return single_open(file, ext4_mb_##name##_proc_show, PDE(inode)->data);\
}								\
								\
static ssize_t ext4_mb_##name##_proc_write(struct file *file,	\
		const char __user *buf, size_t cnt, loff_t *ppos)	\
{								\
	struct ext4_sb_info *sbi = data;			\
	struct ext4_sb_info *sbi = PDE(file->f_path.dentry->d_inode)->data;\
	char str[32];						\
	long value;						\
	if (cnt >= sizeof(str))					\
@@ -2613,31 +2612,32 @@ static int ext4_mb_write_##name(struct file *file, \
		return -ERANGE;					\
	sbi->s_mb_##name = value;				\
	return cnt;						\
}
}								\
								\
static const struct file_operations ext4_mb_##name##_proc_fops = {	\
	.owner		= THIS_MODULE,				\
	.open		= ext4_mb_##name##_proc_open,		\
	.read		= seq_read,				\
	.llseek		= seq_lseek,				\
	.release	= single_release,			\
	.write		= ext4_mb_##name##_proc_write,		\
};

MB_PROC_VALUE_READ(stats);
MB_PROC_VALUE_WRITE(stats);
MB_PROC_VALUE_READ(max_to_scan);
MB_PROC_VALUE_WRITE(max_to_scan);
MB_PROC_VALUE_READ(min_to_scan);
MB_PROC_VALUE_WRITE(min_to_scan);
MB_PROC_VALUE_READ(order2_reqs);
MB_PROC_VALUE_WRITE(order2_reqs);
MB_PROC_VALUE_READ(stream_request);
MB_PROC_VALUE_WRITE(stream_request);
MB_PROC_VALUE_READ(group_prealloc);
MB_PROC_VALUE_WRITE(group_prealloc);
MB_PROC_FOPS(stats);
MB_PROC_FOPS(max_to_scan);
MB_PROC_FOPS(min_to_scan);
MB_PROC_FOPS(order2_reqs);
MB_PROC_FOPS(stream_request);
MB_PROC_FOPS(group_prealloc);

#define	MB_PROC_HANDLER(name, var)					\
do {									\
	proc = create_proc_entry(name, mode, sbi->s_mb_proc);		\
	proc = proc_create_data(name, mode, sbi->s_mb_proc,		\
				&ext4_mb_##var##_proc_fops, sbi);	\
	if (proc == NULL) {						\
		printk(KERN_ERR "EXT4-fs: can't to create %s\n", name);	\
		goto err_out;						\
	}								\
	proc->data = sbi;						\
	proc->read_proc  = ext4_mb_read_##var ;				\
	proc->write_proc = ext4_mb_write_##var;				\
} while (0)

static int ext4_mb_init_per_dev_proc(struct super_block *sb)