Whamcloud - gitweb
Branch b1_8
authorfanyong <fanyong>
Sat, 8 Aug 2009 12:40:59 +0000 (12:40 +0000)
committerfanyong <fanyong>
Sat, 8 Aug 2009 12:40:59 +0000 (12:40 +0000)
commite292108b1b7bb2ac6184b5c15457fefd9d402566
treef65f8ff55bd2ed543c0fec5e5e285f102ef3bf50
parent5e748a92f68732d50a550d3ac8b7b89a91cbb7f1
Branch b1_8
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/lustre_mds.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