![]() | ||||||||||
Messages in this thread |
On Dec 27, 2001 04:21 +0100, Daniel Phillips wrote:
> The strategy is to abstract all references to the struct inode union through
> an inline function:
>
> static inline struct ext2_inode_info *ext2_i (struct inode *inode)
> {
> return &(inode->u.ext2_inode_info);
> }
>
> There is some grist here for the mills of language lawyers here. Note the
> compilation warning:
>
> ialloc.c:336: warning: passing arg 1 of `ext2_i' discards qualifiers from
> pointer target type
Why not just declare ext2_i like the following? It _should_ work:
static inline struct ext2_inode_info *ext2_i(const struct inode *inode)
{
return &(inode->u.ext2_inode_info);
}
Minor nit: this is already done for the ext3 code, but it looks like:
#define EXT3_I (&((inode)->u.ext3_i))
We already have the EXT3_SB, so I thought I would be consistent with it:
#define EXT3_SB (&((sb)->u.ext3_sb))
Do people like the inline version better? Either way, I would like to make
the ext2 and ext3 codes more similar, rather than less.
Cheers, Andreas
--
Andreas Dilger
http://sourceforge.net/projects/ext2resize/
http://www-mddsp.enel.ucalgary.ca/People/adilger/
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
| |||||||||
| Last update: 2005-03-22 12:14 [from the cache] ©2003-2008 | ||||||||||