Whamcloud - gitweb
Branch b1_6
authorbobijam <bobijam>
Wed, 19 Nov 2008 01:39:07 +0000 (01:39 +0000)
committerbobijam <bobijam>
Wed, 19 Nov 2008 01:39:07 +0000 (01:39 +0000)
commit5142d04ad6dd0c3b2a2a93571b7e2d4d4d647372
tree7e6a6d934cb8402fb4e018b17a2b8aaf353846a2
parent9445445b1916a2e1c64aa142fd3b3c05357e806c
Branch b1_6
b=16992
o=johann
i=oleg.drokin (green)
i=zhenyu.xu (bobijam)

During ll_intent_lock(), server looks up parent and child, lock them, between these events parent could be deleted, then vfs_create may_access() fails with -ENOENT.

Then client intent disposition got DISP_OPEN_CREATE | DISP_LOOKUP_NEG | DISP_LOOKUP_EXECD | DISP_IT_EXECD, and the request got double free.

Solution: Clear DISP_ENQ_COMPLETE when we are going to release the intent (request cannot be reused anyway)
lustre/llite/dcache.c