Re: [PATCH] fs: Add new pre-allocation ioctls to vfs for compatibility with legacy xfs ioctls

From: Arnd Bergmann
Date: Fri Jan 30 2009 - 19:39:44 EST


On Saturday 31 January 2009, Andrew Morton wrote:
> On Thu, 29 Jan 2009 02:29:11 +0530 Ankit Jain <me@xxxxxxxxxxxxx> wrote:
> > +struct space_resv {
> > + __s16 l_type;
> > + __s16 l_whence;
> > + __s64 l_start;
> > + __s64 l_len; /* len == 0 means until end of file */
> > + __s32 l_sysid;
> > + __u32 l_pid;
> > + __s32 l_pad[4]; /* reserve area */
> > +};
> > +
> > +#define F_IOC_RESVSP _IOW('X', 40, struct space_resv)
> > +#define F_IOC_RESVSP64 _IOW('X', 42, struct space_resv)
>
> Are we sure that the aligment of l_start will be reliably the same
> across all compilers and versions thereof for all time?

On x86, the alignment differs between 32 and 64 bit, otherwise it's ok.
XFS handles the conversion for compat_ioctl in
fs/xfs/linux-2.6/xfs_ioctl32.c. If this becomes a generic file ioctl,
the conversion code should be moved to fs/compat_ioctl.c.

Arnd <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/