Whamcloud - gitweb
LU-6465 osd: NO OI scrub because of cached invalid OI mapping 99/14499/3
authorFan Yong <fan.yong@intel.com>
Wed, 8 Apr 2015 10:44:20 +0000 (18:44 +0800)
committerOleg Drokin <oleg.drokin@intel.com>
Tue, 5 May 2015 21:20:16 +0000 (21:20 +0000)
commitdac584c6946d15e1ca9e6feeb26b164768041c40
treebc51f37650abc21ca22cb445e8f99c24388908f1
parent315f6e0237b676a7512a4d2fa5765ad57483676e
LU-6465 osd: NO OI scrub because of cached invalid OI mapping

On server side, the RPC service thread may cache one OI mapping
on its stack, such OI mapping will become invalid if some other
removed the object by race. If the RPC service thread uses the
cached OI mapping and finds some inconsistent object, it should
re-lookup the OI files to verify whether the OI mapping that is
cached on the stack is valid or not. If the OI mapping has been
removed from the OI file, then means the OI mapping is invalid,
should NOT trigger OI scrub under such case.

Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: Ifbc653fcc635d77447747f91de79bcc16f2dcbbc
Reviewed-on: http://review.whamcloud.com/14499
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/osd-ldiskfs/osd_handler.c