Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
b=20591 fix race on obd_device::md_stats
[fs/lustre-release.git]
/
lustre
/
mgs
/
mgs_fs.c
diff --git
a/lustre/mgs/mgs_fs.c
b/lustre/mgs/mgs_fs.c
index
4b87e84
..
0ff9ebf
100644
(file)
--- a/
lustre/mgs/mgs_fs.c
+++ b/
lustre/mgs/mgs_fs.c
@@
-73,13
+73,11
@@
static int mgs_export_stats_init(struct obd_device *obd, struct obd_export *exp,
return rc;
}
return rc;
}
- if (!obd->md_stats &&
- lprocfs_alloc_md_stats(obd, LPROC_MGS_LAST))
- return rc;
if (newnid) {
/* Always add in ldlm_stats */
exp->exp_nid_stats->nid_ldlm_stats =
if (newnid) {
/* Always add in ldlm_stats */
exp->exp_nid_stats->nid_ldlm_stats =
- lprocfs_alloc_stats(LDLM_LAST_OPC - LDLM_FIRST_OPC, 0);
+ lprocfs_alloc_stats(LDLM_LAST_OPC - LDLM_FIRST_OPC,
+ LPROCFS_STATS_FLAG_NOPERCPU);
if (exp->exp_nid_stats->nid_ldlm_stats == NULL)
return -ENOMEM;
lprocfs_init_ldlm_stats(exp->exp_nid_stats->nid_ldlm_stats);
if (exp->exp_nid_stats->nid_ldlm_stats == NULL)
return -ENOMEM;
lprocfs_init_ldlm_stats(exp->exp_nid_stats->nid_ldlm_stats);
@@
-244,16
+242,12
@@
int mgs_fs_cleanup(struct obd_device *obd)
push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
if (mgs->mgs_configs_dir) {
push_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
if (mgs->mgs_configs_dir) {
- /*CERROR("configs dir dcount=%d\n",
- atomic_read(&mgs->mgs_configs_dir->d_count));*/
l_dput(mgs->mgs_configs_dir);
mgs->mgs_configs_dir = NULL;
}
l_dput(mgs->mgs_configs_dir);
mgs->mgs_configs_dir = NULL;
}
- shrink_dcache_parent(mgs->mgs_fid_de);
- /*CERROR("fid dir dcount=%d\n",
- atomic_read(&mgs->mgs_fid_de->d_count));*/
dput(mgs->mgs_fid_de);
dput(mgs->mgs_fid_de);
+ shrink_dcache_sb(mgs->mgs_sb);
pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);
pop_ctxt(&saved, &obd->obd_lvfs_ctxt, NULL);