Whamcloud - gitweb
LU-5331 obdclass: serialize lu_site purge 99/11099/2
authorNiu Yawei <yawei.niu@intel.com>
Tue, 15 Jul 2014 03:06:09 +0000 (23:06 -0400)
committerOleg Drokin <oleg.drokin@intel.com>
Fri, 25 Jul 2014 03:21:47 +0000 (03:21 +0000)
commitbc34babc1765f6f99220256e96ce5dc5bb390676
tree735f21ba4277634c71bcf7826bfe82acbe864e8a
parentd6f104f056a5ec6e82e19f12f6faefa0d3ca10a9
LU-5331 obdclass: serialize lu_site purge

Umount process relies on lu_site_purge(-1) to purge all
objects before umount, however, if there happen to have a
cache shrinker which calls lu_site_purge(nr) in parallel,
some objects may still being freed by cache shrinker even
after the lu_site_purge(-1) called by umount done.

This can be simply fixed by serializing purge threads,
since it doesn't make any sense to have them in parallel.

Signed-off-by: Niu Yawei <yawei.niu@intel.com>
Change-Id: Iec5d7fd1d5714ad0e4bd12a50a837858a60b2b1c
Reviewed-on: http://review.whamcloud.com/11099
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Lai Siyao <lai.siyao@intel.com>
Reviewed-by: Mike Pershin <mike.pershin@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/include/lu_object.h
lustre/obdclass/lu_object.c