mirror of
https://github.com/ceph/ceph
synced 2025-01-18 09:02:08 +00:00
* 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:
parent
2bcc95a7e3
commit
785e6e5c19
@ -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,
|
||||
|
Loading…
Reference in New Issue
Block a user