]> git.karo-electronics.de Git - karo-tx-linux.git/commit
The dm thin pool target claims to support the zeroing of discarded
authorMike Snitzer <snitzer@redhat.com>
Thu, 20 Sep 2012 23:40:11 +0000 (09:40 +1000)
committerStephen Rothwell <sfr@canb.auug.org.au>
Thu, 20 Sep 2012 23:40:11 +0000 (09:40 +1000)
commit447ef6383570a4f2f14a729c07f45f1cb8d012e6
treea6e6a939199ba1a4a1e3978044899f3433d1c74e
parentc65f60444f431b9177ab626e313079f0013b8492
The dm thin pool target claims to support the zeroing of discarded
data areas.  This turns out to be incorrect when processing discards
that do not exactly cover a complete number of blocks, so the target
must always set discard_zeroes_data_unsupported.

The thin pool target will zero blocks when they are allocated if the
skip_block_zeroing feature is not specified.  The block layer
may send a discard that only partly covers a block.  If a thin pool
block is partially discarded then there is no guarantee that the
discarded data will get zeroed before it is accessed again.
Due to this, thin devices cannot claim discards will always zero data.

Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Cc: stable@vger.kernel.org # 3.4+
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-thin.c