Re: [PATCH 1/2] nfs/blocklayout: Don't attempt unregister for invalid block device

Benjamin Coddington
2024-11-19T13:47:06Z

On 19 Nov 2024, at 7:42, Christoph Hellwig wrote:

> On Mon, Nov 18, 2024 at 05:40:40PM -0500, Benjamin Coddington wrote:
>> Since commit d869da91cccb, an unmount of a pNFS SCSI layout-enabled NFS
>
> Please also spell out the commit subject in the commit log body, similar
> to to the Fixes tag.

Will do.

>> index 6252f4447945..7ae79814f4ff 100644
>> --- a/fs/nfs/blocklayout/dev.c
>> +++ b/fs/nfs/blocklayout/dev.c
>> @@ -16,13 +16,16 @@
>>
>> static void bl_unregister_scsi(struct pnfs_block_dev *dev)
>> {
>> - struct block_device *bdev = file_bdev(dev->bdev_file);
>> - const struct pr_ops *ops = bdev->bd_disk->fops->pr_ops;
>> + struct block_device *bdev;
>> + const struct pr_ops *ops;
>> int status;
>>
>> if (!test_and_clear_bit(PNFS_BDEV_REGISTERED, &dev->flags))
>> return;
>>
>> + bdev = file_bdev(dev->bdev_file);
>> + ops = bdev->bd_disk->fops->pr_ops;
>> +
>
> Hmm. Just moving the test_and_clear_bit to the caller would
> feel cleaner than this to me.

We can do this too - I'll send another version. I didn't go this way
because I felt the bit test and clear was an important part of the function
that could be lost if we ever had another caller.

> But either way the change looks good:
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>

Thanks for the review.

Ben