Trond Myklebust wrote:
>
>
> As for the issue of casting 'fh->data' as a 'struct knfsd' then that
> is a perfectly valid operation.
>
No it isn't.
fh->data is an array of characters, thus without any alignment
restrictions.
'struct knfsd' begins with a pointer, thus it must be 4 or 8 byte
aligned.
The portable 'struct nfs_fh' structure would be
#define NFS_HANDLESIZE 64
struct nfs_fh
{
unsigned short len;
void* data[NFS_HANDLESIZE/sizeof(void*)];
};
But now its too late for such a change - it breaks at least i386,
probably all platforms.
Does knfsd actually need all 64 bytes in the nfs_fh?
What about aligning the 'struct knfsd' manually?
- struct knfsd* ptr = fh->data;
+ struct knfsd* ptr = (fh->data+15)&(~15);
That would be kernel only, no ABI problems.
--
Manfred
-
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/
- Re: Compatibility issue with 2... Andi Kleen
- Re: Compatibility issue with 2... Manfred
- Re: Compatibility issue with 2... Russell King
- Re: Compatibility issue with 2.2.19pre7 Richard Henderson
- Re: Compatibility issue with 2.2.1... Andrea Arcangeli
- Re: Compatibility issue with 2... Richard Henderson
- Re: Compatibility issue with 2... Andrea Arcangeli
- Re: Compatibility issue with 2... Richard Henderson
- Re: Compatibility issue with 2... Thomas Pornin
- Re: Compatibility issue with 2.2.19pre7 Trond Myklebust
- Re: Compatibility issue with 2.2.19pre7 Manfred Spraul
- Re: Compatibility issue with 2.2.19pre7 Trond Myklebust
- Re: Compatibility issue with 2.2.1... Trond Myklebust
- Re: Compatibility issue with 2... Andrea Arcangeli
- Re: Compatibility issue with 2... Andrea Arcangeli
- Re: Compatibility issue with 2... Trond Myklebust
- Re: Compatibility issue with 2... Russell King
- Re: Compatibility issue with 2.2.19pre7 Trond Myklebust
- Re: Compatibility issue with 2.2.19pre7 Jesse Pollard

