We could work around that if we wanted to. If the AFS "stuff" is
smaller than the sizeof that union, we could use the 'generic_ip'
pointer and cast it to our AFS structure, thereby not wasting the AFS
space. We would have a #define of something like:
#define LINUX_AFSINODE(inode) ((struct osi_afsinode *)&((inode)->u.generic_ip))
Then we could use:
struct osi_afsinode *vnode = LINUX_AFSINODE(inode);
Actually, we could probably even just use 'u' itself as the casting
point, but the process remains the same. The wonders of 'C' :)
-derek
Love <[EMAIL PROTECTED]> writes:
> "Neulinger, Nathan" <[EMAIL PROTECTED]> writes:
>
> > *laugh* no actually - missed that... then why are we keeping a copy of
> > struct inode then if such a hook exists, couldn't we accomplish everything
> > just by attaching something to the hook?
>
> Probably since using `struct inode' and `generic_ip' make you loose 200-300
> bytes for each inode. All the other filesystem data is still in the
> union. There have been talks on fs-devel to solve this.
>
> Love
> _______________________________________________
> OpenAFS-devel mailing list
> [EMAIL PROTECTED]
> https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel
--
Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
Member, MIT Student Information Processing Board (SIPB)
URL: http://web.mit.edu/warlord/ PP-ASEL-IA N1NWH
[EMAIL PROTECTED] PGP key available
_______________________________________________
OpenAFS-devel mailing list
[EMAIL PROTECTED]
https://lists.openafs.org/mailman/listinfo.cgi/openafs-devel