diff options
author | Jan Glauber <jglauber@digitalocean.com> | 2021-03-17 15:04:39 +0100 |
---|---|---|
committer | Song Liu <songliubraving@fb.com> | 2021-03-24 16:29:07 -0700 |
commit | 7abfabaf5f805f5171d133ce6af9b65ab766e76a (patch) | |
tree | 9ef00a2b56d0fb0a25733dacf10bcd55439940d2 /drivers/md/md.c | |
parent | 254c271da0712ea8914f187588e0f81f7678ee2f (diff) |
md: Fix missing unused status line of /proc/mdstat
Reading /proc/mdstat with a read buffer size that would not
fit the unused status line in the first read will skip this
line from the output.
So 'dd if=/proc/mdstat bs=64 2>/dev/null' will not print something
like: unused devices: <none>
Don't return NULL immediately in start() for v=2 but call
show() once to print the status line also for multiple reads.
Cc: stable@vger.kernel.org
Fixes: 1f4aace60b0e ("fs/seq_file.c: simplify seq_file iteration code and interface")
Signed-off-by: Jan Glauber <jglauber@digitalocean.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
Diffstat (limited to 'drivers/md/md.c')
-rw-r--r-- | drivers/md/md.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 498a1c2e95e9..368cad6cd53a 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -8153,7 +8153,11 @@ static void *md_seq_start(struct seq_file *seq, loff_t *pos) loff_t l = *pos; struct mddev *mddev; - if (l >= 0x10000) + if (l == 0x10000) { + ++*pos; + return (void *)2; + } + if (l > 0x10000) return NULL; if (!l--) /* header */ |