On 27/07/2022 23:37, Chaitanya Kulkarni wrote:
On 7/27/22 06:01, Milan Broz wrote:
Hi,
We switched to using BLKZEROOUT ioctl in libcryptsetup, and now we see a
lot of messages like
: operation not supported error, dev loop1, sector 0 op
0x9:(WRITE_ZEROES) flags 0x8000800 phys_seg 0 prio class 0
But the operation succeeds (ioctl returns 0).
As it seems, this happens when a loop device is allocated over a file on
NFS mounted directory.
Easy to reproduce (5.19-rc8) by doing this in NFS mounted dir:
# truncate -s 1M test.img
# losetup /dev/loop1 test.img
# fallocate -zn -l 1048576 /dev/loop1
Shouldn't the block layer be quiet here and just switch to a different
wipe method?
(I think it happens in other cases.)
without having all the setup details when underlying controller
advertises the it does support write-zeroes and then when
actual command fails you should this message.
This is a different case. There is no HW in between.
It is just NFS exported dir. On host system it works, on guest where
the dir is mounted it prints that warning.
In case device doesn't support the write-zeroes then block layer
silently executes the emulation path that REQ_OP_WRITE with
zeored out pages.
I know, the point was that it is confusing if the error is printed
while the fallback actually works as expected.
Thanks,
Milan