Whamcloud - gitweb
Branch HEAD
authorfanyong <fanyong>
Sat, 1 Aug 2009 04:55:51 +0000 (04:55 +0000)
committerfanyong <fanyong>
Sat, 1 Aug 2009 04:55:51 +0000 (04:55 +0000)
commit6684e0f1aebdcc09ec19c6f3b18d9f19defb4001
tree1fd97eb2f2283ff27a380dca3847b28c4ddaa2b5
parent474566144b94ed1a49d7797439b77fbb2b0ba37c
Branch HEAD
b=18902
i=alexey.lyashkov
i=vladimir.saveliev

1) do not reset statahead if conflict was found when opendir
2) do not release "sai" if someone else want to use it for race condition
3) patch from bug 20139
4) increase timeout value for racer killing threads to process client evicted case

There are race conditions for statahead:
1) just before statahead thread is triggered, the first item of the dentry many moved to other
directory, which will cause the statahead thread to be triggered for different directory, and then
cause the original "ls -l" thread which is waiting for the expected directory can not be waken up.
2) when some items are in statahead, such items maybe move to other directory, then the interpret
call maybe find different dentry under such changed directory, and left the original original "ls
-l" thread which is waiting for the expected directory can not be waken up.
3) lli_fid should be set just after vfs inode created on client-side, to prevent the same inode was
created multiple times by statahead thread and other stat thread.
lustre/include/obd.h
lustre/llite/dcache.c
lustre/llite/file.c
lustre/llite/llite_internal.h
lustre/llite/namei.c
lustre/llite/statahead.c
lustre/tests/runracer