Re: targetctl restore and OSError: [Errno 22] Invalid argument

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04/14/2014 06:05 AM, Krzysztof Chojnowski wrote:
Hi,

I'm testing targetcli-fb on my Archlinux box and restore functionality
is failing with following:

# /usr/bin/targetctl restore
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File "/usr/lib/python3.4/site-packages/rtslib/node.py", line 140, in
set_attribute
     fwrite(path, "%s" % str(value))
   File "/usr/lib/python3.4/site-packages/rtslib/utils.py", line 67, in
fwrite
     file_fd.write(str(string))
OSError: [Errno 22] Invalid argument

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
   File "/usr/bin/targetctl", line 87, in <module>
     main()
   File "/usr/bin/targetctl", line 84, in main
     funcs[sys.argv[1]](savefile)
   File "/usr/bin/targetctl", line 47, in restore
     errors = RTSRoot().restore_from_file(restore_file=from_file)
   File "/usr/lib/python3.4/site-packages/rtslib/root.py", line 260, in
restore_from_file
     abort_on_error=abort_on_error)
   File "/usr/lib/python3.4/site-packages/rtslib/root.py", line 201, in
restore
     set_attributes(so_obj, so.get('attributes', {}))
   File "/usr/lib/python3.4/site-packages/rtslib/utils.py", line 440, in
set_attributes
     obj.set_attribute(name, value)
   File "/usr/lib/python3.4/site-packages/rtslib/node.py", line 142, in
set_attribute
     msg = msg[1]
TypeError: 'OSError' object is not subscriptable


I debugged it to following file and value:

# echo 0 >
/sys/kernel/config/target/core/iblock_0/windows_data/attrib/pi_prot_type
bash: echo: write error: Invalid argument

Dmesg logs following:
[168897.460098] DIF protection not supported by backend: iblock

Is it kernel or targetcli-fb issue?

Thanks for your investigation.

It is both.

There's some questionable exception-catching code in rtslib-fb (the library targetcli-fb uses) and then in the kernel -- userspace expects to be able to always set attributes to the value we read (and saved) but this is not the case for the new pi_prot_type attribute.

I'll fix up rtslib-fb and hopefully post the trivial fix for the kernel today, as well.

Regards -- Andy

--
To unsubscribe from this list: send the line "unsubscribe target-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux SCSI]     [Kernel Newbies]     [Linux SCSI Target Infrastructure]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Device Mapper]

  Powered by Linux