dm-crypt.saout.de archive mirror
 help / color / mirror / Atom feed
* [dm-crypt] misaligned ending sector, 4096-byte luks sector size can't be used
@ 2022-01-24 17:07 Chris Murphy
  2022-01-24 22:10 ` [dm-crypt] " Milan Broz
  0 siblings, 1 reply; 2+ messages in thread
From: Chris Murphy @ 2022-01-24 17:07 UTC (permalink / raw)
  To: dm-crypt

Hi,

cryptsetup-2.4.3-1.fc36.x86_64

On 512-byte logical sector size, 4096-byte physical sector size
drives, cryptsetup luksFormat uses a 4096-byte LUKS sector size except
when there's an unaligned last sector in a partition, i.e. the
partition ends within a 4096-byte physical sector. Unfortunately this
is pretty common due to the backup GPT, which makes the "last usable"
sector, unaligned. gdisk, fdisk, and parted can all run into this
problem. I can't really tell if this was ever considered by UEFI/GPT
spec writers. The backups GPT is 33 LBAs in size. So it's always
4096-byte unaligned.

All the sectors in the partition are 4096-byte aligned except the last
one. Therefore it seems suboptimal to fall back to 512-byte LUKS
sector size, or for luksFormat --sector-size 4096 to fail. Is there a
way for cryptsetup to just map out the dangling 1-7 512-byte sectors
at the end? They are useless anyway in this case, but the partitioning
tools aren't in a position to know the use case. The last 1-7 sectors
are legitimately individually addressable so it's not incorrect for
the partitioning tool to include them in the last partition on the
device.


-- 
Chris Murphy
_______________________________________________
dm-crypt mailing list -- dm-crypt@saout.de
To unsubscribe send an email to dm-crypt-leave@saout.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

* [dm-crypt] Re: misaligned ending sector, 4096-byte luks sector size can't be used
  2022-01-24 17:07 [dm-crypt] misaligned ending sector, 4096-byte luks sector size can't be used Chris Murphy
@ 2022-01-24 22:10 ` Milan Broz
  0 siblings, 0 replies; 2+ messages in thread
From: Milan Broz @ 2022-01-24 22:10 UTC (permalink / raw)
  To: Chris Murphy, dm-crypt

On 24/01/2022 18:07, Chris Murphy wrote:
> Hi,
> 
> cryptsetup-2.4.3-1.fc36.x86_64
> 
> On 512-byte logical sector size, 4096-byte physical sector size
> drives, cryptsetup luksFormat uses a 4096-byte LUKS sector size except
> when there's an unaligned last sector in a partition, i.e. the
> partition ends within a 4096-byte physical sector. Unfortunately this
> is pretty common due to the backup GPT, which makes the "last usable"
> sector, unaligned. gdisk, fdisk, and parted can all run into this
> problem. I can't really tell if this was ever considered by UEFI/GPT
> spec writers. The backups GPT is 33 LBAs in size. So it's always
> 4096-byte unaligned.
> 
> All the sectors in the partition are 4096-byte aligned except the last
> one.

And IMO this is the bug in partition tools. We already discussed this with
util-linux (and fdisk) maintainer, I am not sure if they will fix that.

But anything else would be a horrible hack. If the device is not aligned
to requested sector length (usually 4k), then it cannot be used with that
sector size.

The whole idea of misaligned backup GPT at the end of device is broken.
We should not follow that with adding hacks when the easy solution
is just to align a partition properly.

Years ago there was a general agreement to align partition start to 1 MiB
offset, I think we should do the same for the partition length.

> Therefore it seems suboptimal to fall back to 512-byte LUKS
> sector size, or for luksFormat --sector-size 4096 to fail. Is there a
> way for cryptsetup to just map out the dangling 1-7 512-byte sectors
> at the end? They are useless anyway in this case, but the partitioning
> tools aren't in a position to know the use case. The last 1-7 sectors
> are legitimately individually addressable so it's not incorrect for
> the partitioning tool to include them in the last partition on the
> device.

The default is to not store device length in LUKS header - so it follows
underlying device resize.
If you set sector size to 4k, then the unaligned sectors are no longer
"legitimately" addressable (dm-crypt will set 4k as "physical" sector,
IOW as atomic unit of the device). I understand that some filesystems use
hacks to ignore this, but it is really not a system solution.

Milan
_______________________________________________
dm-crypt mailing list -- dm-crypt@saout.de
To unsubscribe send an email to dm-crypt-leave@saout.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2022-01-24 22:13 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-24 17:07 [dm-crypt] misaligned ending sector, 4096-byte luks sector size can't be used Chris Murphy
2022-01-24 22:10 ` [dm-crypt] " Milan Broz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).