/* /proc/lustre/llite root that tracks llite mount points */
struct proc_dir_entry *proc_lustre_fs_root = NULL;
/* lproc_llite.c */
+extern void lprocfs_unregister_mountpoint(struct ll_sb_info *sbi);
extern int lprocfs_register_mountpoint(struct proc_dir_entry *parent,
struct super_block *sb,
char *osc, char *mdc);
INIT_LIST_HEAD(&sbi->ll_conn_chain);
INIT_LIST_HEAD(&sbi->ll_orphan_dentry_list);
generate_random_uuid(uuid);
- spin_lock_init(&sbi->ll_iostats.fis_lock);
class_uuid_unparse(uuid, &sbi->ll_sb_uuid);
sb->u.generic_sbp = sbi;
out_mdc:
obd_disconnect(&sbi->ll_mdc_conn, 0);
out_free:
+ lprocfs_unregister_mountpoint(sbi);
OBD_FREE(sbi, sizeof(*sbi));
goto out_dev;
if (!obd->obd_no_recov)
mdc_getstatus(&sbi->ll_mdc_conn, &rootfid);
+ lprocfs_unregister_mountpoint(sbi);
if (sbi->ll_proc_root) {
lprocfs_remove(sbi->ll_proc_root);
sbi->ll_proc_root = NULL;
CDEBUG(D_VFSTRACE, "VFS Op:name=%s\n", de->d_name.name);
if (rc)
return rc;
+ lprocfs_counter_incr(ll_i2sbi(de->d_inode)->ll_stats, LPROC_LL_SETATTR);
return ll_inode_setattr(de->d_inode, attr, 1);
}
ENTRY;
CDEBUG(D_VFSTRACE, "VFS Op:\n");
+ lprocfs_counter_incr(sbi->ll_stats, LPROC_LL_STAFS);
memset(sfs, 0, sizeof(*sfs));
rc = obd_statfs(&sbi->ll_mdc_conn, &osfs);
statfs_unpack(sfs, &osfs);