Please find attached two patches. An updated patch to add UNMAP. Here we just try to unmap the region as it was given to us by the initiator and rely on the initiator to make sure that it only try to unmap data on physical block boundaries. Second is a patch to automatically set LogicalBlocksPerPhysicalBlockExponent anytime we open a backing file. This is used in READCAPACITY16 to tell the initiators the relations between logical blocks and physical blocks on the target, and should guide the initiator to do the right thing when using the UNMAP CDB regards ronnie sahlberg On Sun, Apr 15, 2012 at 9:08 AM, FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote: > On Sun, 15 Apr 2012 07:15:10 +1000 > ronnie sahlberg <ronniesahlberg@xxxxxxxxx> wrote: > >> Fair enough. > > xfs and ext4 handle it so I tend to blame btrfs. I need to investigate > the issue more though. > >> Please find attached an update to the UNMAP patch that only tries to >> punch a hole for the hole region >> and ignores the underlying block boundaries. >> It will rely on the underlying filesystem to zero out any unaligned regions. > > Can we use scsi_lu->dev instead of doing fstat every time? > >> You still need the "TGTIMG patch to be applied first. > > I've applied the first. Thanks. > >> After this patch, I also have patches to add WRITE_SAME10/16 that can >> also be used to punch holes in LUNs. > > Sounds great.
Attachment:
0001-SBC-UNMAP-Add-support-for-thin-provisioning-and-the-.patch.gz
Description: GNU Zip compressed data
Attachment:
0001-SBC-UNMAP-Add-support-for-thin-provisioning-and-the-.patch
Description: Binary data
Attachment:
0002-SBC-When-opening-the-backing-file-check-the-filesyst.patch.gz
Description: GNU Zip compressed data
Attachment:
0002-SBC-When-opening-the-backing-file-check-the-filesyst.patch
Description: Binary data