Re: [RFC][PATCH] block ioctl to read/write last sector

From: Andi Kleen (
Date: Wed Feb 07 2001 - 09:34:50 EST

Michael E Brown <> writes:

> Problem Summary:
> There is no function exported to userspace to read or write the last
> 512-byte sector of an odd-size disk.
> The block device uses 1K blocksize, and will prevent userspace from
> seeing the odd-block at the end of the disk, if the disk is odd-size.
> IA-64 architecture defines a new partitioning scheme where there is a
> backup of the partition table header in the last sector of the disk. While
> we can read and write to this sector in the kernel partition code, we have
> no way for userspace to update this partition block.
> Solution:
> As an interim solution, I propose the following IOCTLs for the block
> device layer: BLKGETLASTSECT and BLKSETLASTSECT. These ioctls will take a
> userspace pointer to a char[512] and read/write the last sector. Below is
> a patch to do this.

But what happens when you e.g. run a software blocksize of 4096 and the device
has >1 inaccessible 512 byte sector at the end?
I think it would be better to pass in a offset in 512 byte units to a special
ioctl (and do error checking in the driver for impossible requests)

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

This archive was generated by hypermail 2b29 : Wed Feb 07 2001 - 21:00:26 EST