|
@@ -665,48 +665,6 @@ int ll_get_default_cookiesize(struct ll_sb_info *sbi, int *lmmsize)
|
|
|
return rc;
|
|
|
}
|
|
|
|
|
|
-static void ll_dump_inode(struct inode *inode)
|
|
|
-{
|
|
|
- struct ll_d_hlist_node *tmp;
|
|
|
- int dentry_count = 0;
|
|
|
-
|
|
|
- LASSERT(inode != NULL);
|
|
|
-
|
|
|
- ll_d_hlist_for_each(tmp, &inode->i_dentry)
|
|
|
- dentry_count++;
|
|
|
-
|
|
|
- CERROR("inode %p dump: dev=%s ino=%lu mode=%o count=%u, %d dentries\n",
|
|
|
- inode, ll_i2mdexp(inode)->exp_obd->obd_name, inode->i_ino,
|
|
|
- inode->i_mode, atomic_read(&inode->i_count), dentry_count);
|
|
|
-}
|
|
|
-
|
|
|
-void lustre_dump_dentry(struct dentry *dentry, int recur)
|
|
|
-{
|
|
|
- struct list_head *tmp;
|
|
|
- int subdirs = 0;
|
|
|
-
|
|
|
- LASSERT(dentry != NULL);
|
|
|
-
|
|
|
- list_for_each(tmp, &dentry->d_subdirs)
|
|
|
- subdirs++;
|
|
|
-
|
|
|
- CERROR("dentry %p dump: name=%pd parent=%pd (%p), inode=%p, count=%u, flags=0x%x, fsdata=%p, %d subdirs\n",
|
|
|
- dentry, dentry, dentry->d_parent, dentry->d_parent,
|
|
|
- dentry->d_inode, d_count(dentry),
|
|
|
- dentry->d_flags, dentry->d_fsdata, subdirs);
|
|
|
- if (dentry->d_inode != NULL)
|
|
|
- ll_dump_inode(dentry->d_inode);
|
|
|
-
|
|
|
- if (recur == 0)
|
|
|
- return;
|
|
|
-
|
|
|
- list_for_each(tmp, &dentry->d_subdirs) {
|
|
|
- struct dentry *d = list_entry(tmp, struct dentry, d_child);
|
|
|
-
|
|
|
- lustre_dump_dentry(d, recur - 1);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
static void client_common_put_super(struct super_block *sb)
|
|
|
{
|
|
|
struct ll_sb_info *sbi = ll_s2sbi(sb);
|