From: wangdi Date: Sun, 8 Dec 2013 08:00:03 +0000 (-0800) Subject: LU-3857 osd: cleanup procfs after osd_shutdown X-Git-Tag: 2.5.53~24 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=cd09dd47819737604c2fb5109abd90995afeb968;ds=sidebyside LU-3857 osd: cleanup procfs after osd_shutdown Since osd_procfs_fini will try cleanup all proc entries, and osd_shutdown/qsd_fini will try to cleanup procfs itself, so osd_procfs_fini should be done after qsd_fini, otherwise the qsd entries will be destoryed twice, and caused panic Call Trace: [] lprocfs_remove+0x25/0x40 [obdclass] [] qsd_fini+0x80/0x450 [lquota] [] osd_shutdown+0x38/0xe0 [osd_ldiskfs] [] osd_device_fini+0x129/0x190 [osd_ldiskfs] [] class_cleanup+0x573/0xd30 [obdclass] [] ? class_name2dev+0x7c/0xe0 [obdclass] [] class_process_config+0x156a/0x1ad0 [obdclass] [] ? libcfs_log_return+0x28/0x40 [libcfs] [] ? lustre_cfg_new+0x312/0x6e0 [obdclass] [] class_manual_cleanup+0x179/0x6e0 [obdclass] [] ? libcfs_log_return+0x28/0x40 [libcfs] [] osd_obd_disconnect+0x174/0x1e0 [osd_ldiskfs] [] lustre_put_lsi+0x1ab/0xeb0 [obdclass] [] lustre_common_put_super+0x5c8/0xbe0 [obdclass] [] server_put_super+0x1bd/0xed0 [obdclass] [] server_fill_super+0x68b/0x1630 [obdclass] [] lustre_fill_super+0x1d8/0x530 [obdclass] [] ? lustre_fill_super+0x0/0x530 [obdclass] Signed-off-by: wang di Change-Id: If12cebf971583afeeaa031bd24f69bb0fe0cdf1a Reviewed-on: http://review.whamcloud.com/8506 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: Fan Yong Reviewed-by: Mike Pershin Reviewed-by: Oleg Drokin --- diff --git a/lustre/osd-ldiskfs/osd_handler.c b/lustre/osd-ldiskfs/osd_handler.c index 6e276b8..c13c682 100644 --- a/lustre/osd-ldiskfs/osd_handler.c +++ b/lustre/osd-ldiskfs/osd_handler.c @@ -5509,8 +5509,8 @@ static struct lu_device *osd_device_fini(const struct lu_env *env, struct osd_device *o = osd_dev(d); ENTRY; - osd_procfs_fini(o); osd_shutdown(env, o); + osd_procfs_fini(o); osd_scrub_cleanup(env, o); osd_obj_map_fini(o); osd_umount(env, o);