[linux-lvm] Why isn't issue_discards enabled by default?

Zdenek Kabelac zkabelac at redhat.com
Tue Sep 22 08:13:29 UTC 2020


Dne 21. 09. 20 v 16:26 Mark Mielke napsal(a):
> On Mon, Sep 21, 2020 at 10:14 AM nl6720 <nl6720 at gmail.com 
> <mailto:nl6720 at gmail.com>> wrote:
> 
>     I wanted to know why the "issue_discards" setting isn't enabled by
>     default. Are there any dangers in enabling it or if not is there a
>     chance of getting the default changed?
> 
>     Also it's not entirely clear to me if/how "issue_discards" affects thin
>     pool discard passdown.
> 
> 
> Historically, there have been dangers. Even today, there might still be 
> dangers - although, I believe Linux (and other OS) may disable the feature in 
> hardware which is known to behave improperly.
> 
> If you do research and ensure you are using a good storage drive, there should 
> not be any problems. I enable issue_discards on all systems I work with at 
> home and work, and have not encountered any problems. But, I also don't buy 
> cheap drives with questionable namebrands.
> 
> It's pretty common for settings such as these to be more conservative, to 
> ensure that the users who are willing to accept the risk (no matter how small) 
> can turn it on as an option, and the users who are unaware or might not have 
> evaluated the risk, cannot blame the software vendors for losing their data. 
> In the case of LVM - it's not LVM's fault that some drives might lose your 
> data when discard is sent. But, users of LVM might blame LVM.

Hi

So let's repeat again -  issue_discards  has nothing to do with discard 
handling of the LV itself.

If the LV is sitting on top of SSD - it will receive discard/TRIM no matter
what is set in this issue_discard setting - it could be  0 or 1 and LV will be 
discarded.

Anyone can very easily try - create some small simple LV on top SSD - or 
thinLV then create i.e.  mkfs.ext4 and use 'fstrim -v'.
With discardable device you will get nice print about discarded region -
then play with issue_discards setting - there will be no change...

Setting issue_discards only matters when you run 'lvremove' and your VG is
maybe on some 'provisioned' storage and you pay for used space - in this case 
released extents in VG will receive TRIM - so VG will eat less physical
space on such storage.

So keeping this setting 0 is perfectly fine and allows users to revert many 
lvm2 operation if they've made a mistake.

When setting is 1 - most of lvm2 commands have NO way back - once done, all 
data is gove - which can be quite fatal if you have i.e. very similar LV names...

No distribution should be setting issue_discards to '1' by default - it should 
be always changed by admin so he is aware of consequences.

Regards

Zdenek




More information about the linux-lvm mailing list