On Fri, Dec 18, 2009 at 01:51:14PM +0800, Zhaolei wrote: > sniper wrote: > > No, many pointers in btrfs function arguments are not pointing to an > > absolute address, but relative to the start address of extent. > > Take following function as example, argument inode_item is an offset > > value to the beginning of leaf. So we can't reach its member with > > &inode_item->xxx > > Notice that we are not reach its member, we are getting pointer of its > member with &inode_item->mtime. > This operation have same effect as old one. It relies on gcc doing something specific with the pointer address manipulation while the original code makes it clear we're just taking the offset. We do rely on gcc being gcc in lots of places in the code, but in this case I prefer the offsetof. -chris -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
