Re: [RFC][PATCH V3 1/4] ext4: add EXT4_IOC_CONTROL_PA to create/discard inode PA

Andreas Dilger
2010-12-01T10:14:22Z

On 2010-11-30, at 23:06, Kazuya Mio wrote:
> EXT4_IOC_CONTROL_PA allows to create new inode PA based on the specified
> range, or to discard all inode PAs in the target inode.
>
> INTERFACE
> -----------
>
> #define EXT4_IOC_CONTROL_PA _IOWR('f', 16, struct ext4_prealloc_info)
>
> struct ext4_prealloc_info {
> __u64 pi_pstart; /* physical offset for the start of the PA from
> * the beginning of the file (in/out) */
> __u32 pi_lstart; /* logical offset for the start of the PA from
> * the beginning of the disk (in/out) */

Is the comment here wrong, or do I misunderstand that there is a 64-bit offset for the file, and only a 32-bit offset for the disk? It doesn't make sense to create a new API that only has a 32-bit offset for the disk, since ext4 is nearly supporting 64-bit filesystem blocks.

Looking at the patch, it seems that pi_pstart is indeed the physical offset, so it should be 64-bit, and it just appears that the comment is incorrect.

Cheers, Andreas