ubi: Fix seq_file usage in detailed_erase_block_info debugfs file
[ Upstream commit0e7572cffe
]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:
parent
274cd3c7b5
commit
17c9595cca
|
@ -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)
|
||||||
|
|
Loading…
Reference in New Issue