[Devel] Re: [PATCH] diskquota: 32bit quota tools on 64bit architectures

Vasily Tarasov vtaras at openvz.org
Wed Oct 25 04:25:34 PDT 2006


Arnd Bergmann wrote:

> > +struct compat_if_dqblk {
> > +       compat_uint_t dqb_bhardlimit[2];
> > +       compat_uint_t dqb_bsoftlimit[2];
> > +       compat_uint_t dqb_curspace[2];
> > +       compat_uint_t dqb_ihardlimit[2];
> > +       compat_uint_t dqb_isoftlimit[2];
> > +       compat_uint_t dqb_curinodes[2];
> > +       compat_uint_t dqb_btime[2];
> > +       compat_uint_t dqb_itime[2];
> > +       compat_uint_t dqb_valid;
> > +};
> > +
> > +/* XFS structures */
> > +struct compat_fs_qfilestat {
> > +       compat_uint_t dqb_bhardlimit[2];
> > +       compat_uint_t   qfs_nblks[2];
> > +       compat_uint_t   qfs_nextents;
> > +};
> > +
> 
> The patch looks technically correct, but you have defined the structures
> in a somewhat unusual way. I'd have defined them with 
> attribute((packed, aligned(4))) in the end.
> 
> Or even better, we should probably add a 
> 
> typedef unsigned long long __attribute__((aligned(4))) compat_u64;
> 
> for x86 compat and use that instead of compat_uint_t foo[2].

Actually I didn't use __attribute__, 'case I'v heard,  that this isn't
encouraged now to use __attribute__((...)) in kernel. But if you think it
is ok, and even preferable, I will definitely redo it!

Thanks!




More information about the Devel mailing list