Re: Userspace regression with 6baca7601bde ("scsi: target: drop unused pi_prot_format attribute storage")

From: David Disseldorp
Date: Sun Feb 03 2019 - 19:58:18 EST


Hi Laura,

Thanks for the report...

On Sun, 3 Feb 2019 17:56:00 +0100, Laura Abbott wrote:

> Fedora got a bug report of a new permission denied error with 5.0-rc2:
>
> > File "/usr/lib/python3.7/site-packages/rtslib_fb/utils.py", line 100, in fread
> > with open(path, 'r') as file_fd:
> > PermissionError: [Errno 13] Permission denied: '/sys/kernel/config/target/core/fileio_28/xxx/attrib/pi_prot_format'
>
> This looks like an intentional behavior change with
>
> commit 6baca7601bdee2e57f20c45d63eb53b89b33e816
> Author: David Disseldorp <ddiss@xxxxxxx>
> Date: Fri Nov 23 18:36:11 2018 +0100
>
> scsi: target: drop unused pi_prot_format attribute storage
>
> On write, the pi_prot_format configfs attribute invokes the device
> format_prot() callback if present. Read dumps the contents of
> se_dev_attrib.pi_prot_format which is always zero. Make the configfs
> attribute write-only, and drop the always zero se_dev_attrib.pi_prot_format
> storage.
>
> Signed-off-by: David Disseldorp <ddiss@xxxxxxx>
> Reviewed-by: Christoph Hellwig <hch@xxxxxx>
> Signed-off-by: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
>
>
> Unfortunately, existing code that's opening with read permissions is now broken.
> Can this be reverted? Full bug at https://bugzilla.redhat.com/show_bug.cgi?id=1667505

Lee (cc'ed) pinged me a couple of days ago about the same issue.
My preference would be to add back a dummy read handler without the
corresponding (unused) se_dev_attrib.pi_prot_format member.
I'll prepare something tomorrow with this, but if it's urgent then I'd
also be okay with a straight revert.

Cheers, David