https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-block
Describes discard_alignment as: "Devices that support discard functionality may internally allocate space in units that are bigger than the exported logical block size. The discard_alignment parameter indicates how many bytes the beginning of the device is offset from the internal allocation unit's natural alignment." Q1 - I'm hoping you can clarify how this should be interpreted. I originally took this to mean the number of bytes into the first discard_granularity block that the partition resides at. i.e. If discard_granularity_block is 128MB, and partition 1 starts at sector 2048 with 512 byte sectors, that this should return 2048*512=1048576 (1MB.) However, LVM thin volumes (using device mapper thin pools) are seeming to give the number of bytes left in the first discard_granularity block at the beginning of the partition. i.e. Returning discard_granularity of 128 * 1024 * 1024 minus the start of the partition 2048 * 512, or 133169152. (This is if the thin volume is created with a chunk size of 128MB.) Q2 - At https://lkml.org/lkml/2018/12/5/1693 --- I saw you recently said "... there are not many devices that actually report a non-zero discard alignment..." Does this mean that every filesystem needs to look at the partition table to determine its correct value on its own, rather than using discard_alignment?