Re: [PATCH] buffer_io_error: Use dev_err_ratelimited
From: Andy Shevchenko
Date: Mon Oct 26 2020 - 18:07:27 EST
On Mon, Oct 26, 2020 at 10:59 PM Tony Asleson <tasleson@xxxxxxxxxx> wrote:
>
> Replace printk_ratelimited with dev_err_ratelimited which
> adds dev_printk meta data. This is used by journald to
> add disk ID information to the journal entry.
> This re-worked change is from a different patch series
> and utilizes the following suggestions.
>
> - Reduce indentation level (Andy Shevchenko)
> - Remove unneeded () for conditional operator (Sergei Shtylyov)
This should go as a changelog after the cutter '---' line...
> Signed-off-by: Tony Asleson <tasleson@xxxxxxxxxx>
> ---
...somewhere here.
...
> - if (!test_bit(BH_Quiet, &bh->b_state))
> - printk_ratelimited(KERN_ERR
> - "Buffer I/O error on dev %pg, logical block %llu%s\n",
> - bh->b_bdev, (unsigned long long)bh->b_blocknr, msg);
> + struct device *gendev;
> +
> + if (test_bit(BH_Quiet, &bh->b_state))
> + return;
> +
> + gendev = bh->b_bdev->bd_disk ?
> + disk_to_dev(bh->b_bdev->bd_disk) : NULL;
I'm not sure it's a good idea to print '(null)'.
Perhaps
if (bh->b_bdev->bd_disk)
dev_err_ratelimit(disk_to_dev(bh->b_bdev->bd_disk), ...);
else
pr_err_ratelimit(...);
?
> + dev_err_ratelimited(gendev,
> + "Buffer I/O error, logical block %llu%s\n",
> + (unsigned long long)bh->b_blocknr, msg);
It's a u64 always (via sector_t), do we really need a casting?
> }
--
With Best Regards,
Andy Shevchenko