Whamcloud - gitweb
LU-2101 clio: cl_sync_io_wait() need a barrier
authorLiang Zhen <liang@whamcloud.com>
Sun, 7 Oct 2012 17:05:44 +0000 (01:05 +0800)
committerOleg Drokin <green@whamcloud.com>
Thu, 31 Jan 2013 05:17:01 +0000 (00:17 -0500)
commit64f99d8993d8f4087de2adf59e9a834823f92898
treea582dacc1be96cea0742bde5905374657f7bd560
parentfac772adaa35947aeb3feb8c5c55f6c563b28de5
LU-2101 clio: cl_sync_io_wait() need a barrier

cl_sync_io_note() has a small window between cfs_atomic_dec_and_test
and cfs_waitq_broadcast, another thread might have destroyed anchor
between this window, then cl_sync_io_note() is calling wakeup on a
poisoned waitq and crash.

Signed-off-by: Liang Zhen <liang.zhen@intel.com>
Change-Id: I04bfc738c8c5bec3a1e8b51131fae4199ef5ec9a
Reviewed-on: http://review.whamcloud.com/5199
Reviewed-by: Johann Lombardi <johann.lombardi@intel.com>
Tested-by: Hudson
Reviewed-by: Jinshan Xiong <jinshan.xiong@intel.com>
Tested-by: Maloo <whamcloud.maloo@gmail.com>
lustre/include/cl_object.h
lustre/obdclass/cl_io.c