* fixed bug with lost waiters on null dentries (e.g. mknod race)

git-svn-id: https://ceph.svn.sf.net/svnroot/ceph@1251 29311d96-e01e-0410-9327-a35deaab8ce9
This commit is contained in:
sageweil 2007-03-16 00:21:18 +00:00
parent 2bcc95a7e3
commit 785e6e5c19

View File

@ -1850,8 +1850,14 @@ void Locker::dentry_xlock_finish(CDentry *dn, bool quiet)
// unpin dir
dn->dir->auth_unpin();
// kick waiters
list<Context*> finished;
dn->dir->take_waiting(CDIR_WAIT_DNREAD, finished);
mds->queue_finished(finished);
}
/*
* onfinish->finish() will be called with
* 0 on successful xlock,