struct ccc_object *cl_inode2ccc(struct inode *inode) { struct cl_inode_info *lli = cl_i2info(inode); struct cl_object *obj = lli->lli_clob; struct lu_object *lu; LASSERT(obj != NULL); lu = lu_object_locate(obj->co_lu.lo_header, &vvp_device_type); LASSERT(lu != NULL); return lu2ccc(lu); }
static int slp_object_print(const struct lu_env *env, void *cookie, lu_printer_t p, const struct lu_object *o) { struct ccc_object *obj = lu2ccc(o); struct inode *inode = obj->cob_inode; struct intnl_stat *st = NULL; if (inode) st = llu_i2stat(inode); return (*p)(env, cookie, LUSTRE_SLP_NAME"-object@%p(%p:%lu/%u)", obj, inode, st ? (unsigned long)st->st_ino : 0UL, inode ? (unsigned int)llu_i2info(inode)->lli_st_generation : 0); }
static int vvp_object_print(const struct lu_env *env, void *cookie, lu_printer_t p, const struct lu_object *o) { struct ccc_object *obj = lu2ccc(o); struct inode *inode = obj->cob_inode; struct ll_inode_info *lli; (*p)(env, cookie, "(%s %d %d) inode: %p ", list_empty(&obj->cob_pending_list) ? "-" : "+", obj->cob_transient_pages, atomic_read(&obj->cob_mmap_cnt), inode); if (inode) { lli = ll_i2info(inode); (*p)(env, cookie, "%lu/%u %o %u %d %p "DFID, inode->i_ino, inode->i_generation, inode->i_mode, inode->i_nlink, atomic_read(&inode->i_count), lli->lli_clob, PFID(&lli->lli_fid)); } return 0; }