Re: [PATCH 0/5] blkdev: discard optimizations v2 RESEND2

From: Dmitry Monakhov
Date: Wed Mar 24 2010 - 14:00:54 EST


Jens Axboe <jens.axboe@xxxxxxxxxx> writes:

> On Wed, Mar 24 2010, Dmitry Monakhov wrote:
>> Wow. lkml seem don't like 'XXX' in the subject
>> So post it one more time.
>
> I got it three times :-)
>
>> This is second version of generic discard optimizations
>> first was submitted here: http://lwn.net/Articles/373994
>>
>> Currently there are many file-systems which has implemented
>> discard support, but SSD discs not widely used yet.
>> This patch-set introduce compat helpers which simulate
>> discard requests with zeroing semantics.
>>
>> __blkdev_issue_zeroout: explicitly zeroout given range via write request.
>> blkdev_issue_clear: zeroout given range, use discard request if possible.
>>
>> Later filesystem admin may select which behavior is suitable for his needs
>> discard without zeroing or explicit zeroing even if discard is not supported.
>>
>> Advantages:
>> - Hope that this helps in real filesystem testing.
>> - People who are crazy about data security would be really happy.
>> - Virtual machine developers also would like this feature.
>>
>> Other optimization:
>> - Convert all blkdev_issue_xxx function to common set of flags
>> - Optimize generic discard submitting procedure.
>
> I think tihs is pretty odd, to be honest, and a strange way to use a
> discard request. If this is some security concern, have some fs helpers
> to help them explicitly zero blocks. If you really want to be paranoid,
> the single overwrite is likely not enough anyway.
May be, but usually discard is issued for data block, and user may
has zeroout behavior FOR FREE simply by replacing the function.
And if filesystem want to support paranoid mode it will add
corresponding helpers for metadata which require more work.
BTW blkdev_issue_zeroout is pretty generic to be useful for other
places. Currently there are several places which duplicate this logic.
> Secondly, if used on
> an SSD that doesn't have discard, it'll make things worse. Thirdly,
> discard may or may not provide zeroed data on re-read.
Yes for second and third. But i've just add explicit zeroed functions.
And let user define which behavior is sufficient for him.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/