ubi: Fix seq_file usage in detailed_erase_block_info debugfs file

[ Upstream commit 0e7572cffe ]

3bfa7e141b ("fs/seq_file.c: seq_read(): add info message about buggy .next functions")
showed that we don't use seq_file correctly.
So make sure that our ->next function always updates the position.

Fixes: 7bccd12d27 ("ubi: Add debugfs file for tracking PEB state")
Signed-off-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Richard Weinberger 2020-05-02 14:48:02 +02:00 committed by Greg Kroah-Hartman
parent 274cd3c7b5
commit 17c9595cca
1 changed files with 2 additions and 10 deletions

View File

@ -392,9 +392,6 @@ static void *eraseblk_count_seq_start(struct seq_file *s, loff_t *pos)
{ {
struct ubi_device *ubi = s->private; struct ubi_device *ubi = s->private;
if (*pos == 0)
return SEQ_START_TOKEN;
if (*pos < ubi->peb_count) if (*pos < ubi->peb_count)
return pos; return pos;
@ -408,8 +405,6 @@ static void *eraseblk_count_seq_next(struct seq_file *s, void *v, loff_t *pos)
{ {
struct ubi_device *ubi = s->private; struct ubi_device *ubi = s->private;
if (v == SEQ_START_TOKEN)
return pos;
(*pos)++; (*pos)++;
if (*pos < ubi->peb_count) if (*pos < ubi->peb_count)
@ -431,11 +426,8 @@ static int eraseblk_count_seq_show(struct seq_file *s, void *iter)
int err; int err;
/* If this is the start, print a header */ /* If this is the start, print a header */
if (iter == SEQ_START_TOKEN) { if (*block_number == 0)
seq_puts(s, seq_puts(s, "physical_block_number\terase_count\n");
"physical_block_number\terase_count\tblock_status\tread_status\n");
return 0;
}
err = ubi_io_is_bad(ubi, *block_number); err = ubi_io_is_bad(ubi, *block_number);
if (err) if (err)