Michael E Brown <[EMAIL PROTECTED]> 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)

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to