On Wed, 29 Feb 2012, Theodore Tso wrote: > > On Feb 29, 2012, at 2:12 AM, Lukas Czerner wrote: > > > > The reason is (as I commented in the patch #2) that we will not discard > > BLOCK_UNINIT groups. We use BLOCK_UNINIT as a optimization measure to > > skip groups which are likely to be non-provisioned, because we have > > never written there anything since the mkfs. > > > > If you create file system without discard, then obviously nothing is > > discarded, image is fully provisioned and e2fsck discard *only* initialized > > groups. So you'll end up with the bigger image, in case that your image was > > not sparse. > > i still think it makes sense to have an option where we discard everything > including BLOCK_UNINIT blocks. Mke2fs doesn't discard blocks by default > because of a fear of crappy SSD drives, and while that fear may be > overstated, assuming that all of the unused blocks will *always* have been > discarded at mkfs time isn't necessarily a good thing to assume. I'll grant > that it might be a fine default, but there needs to be *some* way to discard > everything that's unused…. > > -- Ted > > Hi Ted, actually mke2fs does discard block by default. It has been like that since the beginning. Back then we only had '-K' argument to 'keep' blocks and do not attempt to discard. Nowadays user can do '-E nodiscard', but it is users choice. That one of the premiss of my patch to skip BLOKC_UNINIT. I hope that the 'age' of crappy SSD's is over now, and even though there are surely some of them still running we do not want to optimize for them, but rather for the better quality SSD's right ? Thanks! -Lukas