Whamcloud - gitweb
Branch b1_8_gate
authorbobijam <bobijam>
Wed, 19 Nov 2008 01:29:46 +0000 (01:29 +0000)
committerbobijam <bobijam>
Wed, 19 Nov 2008 01:29:46 +0000 (01:29 +0000)
commit329a009ee2b2fb5e5a8ed76e6edb038730649737
tree9182e69abbb0f45663e5ba1a80a16846ef86936f
parentd4be17f933264edc7178dbc792c5463b7b12d325
Branch b1_8_gate
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