Hi, To get my understanding of zfs data structures correct, I need to trace znode_t from given dnode_t. I came up with following trace, is this correct? dnote_t->dn_bonus->db_user_ptr points to corresponding znode_t Is there any other(better) way to trace znode_t from dnode_t? Cheers, -Atul
> Hi, > To get my understanding of zfs data structures correct, I need to > trace znode_t from given dnode_t. I came up with following trace, is > this correct? > > dnote_t->dn_bonus->db_user_ptr points to corresponding znode_tThat is right.> Is there any other(better) way to trace znode_t from dnode_t?No, from a dnode_t, you always go through the dmu_buf_impl_t to get to the the znode_t. When you say better, what exactly are you looking for? The other commonly accessed path of znode_t will be through vnode_t->v_data. For a larger picture of how this all fits together, there is a nice picture at http://www.opensolaris.org/os/community/zfs/structures/ - Vidya Sakar
Thanks Vidya for the confirmation. I was just trying to understand the source code better :) Cheers, -Atul On 7/26/07, Vidya Sakar N <Vidya.Sakar at sun.com> wrote:> > Hi, > > To get my understanding of zfs data structures correct, I need to > > trace znode_t from given dnode_t. I came up with following trace, is > > this correct? > > > > dnote_t->dn_bonus->db_user_ptr points to corresponding znode_t > > That is right. > > > Is there any other(better) way to trace znode_t from dnode_t? > > No, from a dnode_t, you always go through the dmu_buf_impl_t to get to the > the znode_t. When you say better, what exactly are you looking for? > The other commonly accessed path of znode_t will be through vnode_t->v_data. > > For a larger picture of how this all fits together, there is a nice > picture at http://www.opensolaris.org/os/community/zfs/structures/ > > - Vidya Sakar >-- Atul Vidwansa Cluster File Systems Inc. http://www.clusterfs.com