Commit b208ce32 authored by Rob Jones's avatar Rob Jones Committed by Linus Torvalds

mm/slab.c: use __seq_open_private() instead of seq_open()

Using __seq_open_private() removes boilerplate code from slabstats_open()

The resultant code is shorter and easier to follow.

This patch does not change any functionality.
Signed-off-by: default avatarRob Jones <rob.jones@codethink.co.uk>
Acked-by: default avatarChristoph Lameter <cl@linux.com>
Cc: Pekka Enberg <penberg@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 703394c1
...@@ -4178,19 +4178,15 @@ static const struct seq_operations slabstats_op = { ...@@ -4178,19 +4178,15 @@ static const struct seq_operations slabstats_op = {
static int slabstats_open(struct inode *inode, struct file *file) static int slabstats_open(struct inode *inode, struct file *file)
{ {
unsigned long *n = kzalloc(PAGE_SIZE, GFP_KERNEL); unsigned long *n;
int ret = -ENOMEM;
if (n) { n = __seq_open_private(file, &slabstats_op, PAGE_SIZE);
ret = seq_open(file, &slabstats_op); if (!n)
if (!ret) { return -ENOMEM;
struct seq_file *m = file->private_data;
*n = PAGE_SIZE / (2 * sizeof(unsigned long)); *n = PAGE_SIZE / (2 * sizeof(unsigned long));
m->private = n;
n = NULL; return 0;
}
kfree(n);
}
return ret;
} }
static const struct file_operations proc_slabstats_operations = { static const struct file_operations proc_slabstats_operations = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment