diff options
author | Sage Weil <sage@newdream.net> | 2009-02-23 20:27:40 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-02-23 20:27:40 -0800 |
commit | 1e7cb5fe92768d4a6e913fa8bb1da86264bfb5a5 (patch) | |
tree | 99f8caecff54c6122d4d96203ed21bf7f0328395 | |
parent | eeab259d4580597c8c1f9c02cd12deb442fc9363 (diff) | |
download | ceph-1e7cb5fe92768d4a6e913fa8bb1da86264bfb5a5.tar.gz |
mds: flush journal on create if dir filelock is unstable
This isn't particularly precise, but works for now.
-rw-r--r-- | src/mds/Server.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 2590594d4a2..bc7a83931da 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -2641,6 +2641,9 @@ void Server::handle_client_create(MDRequest *mdr) newi->xattrlock.set_state((keep & CEPH_CAP_XATTR_EXCL) ? LOCK_EXCL:LOCK_SYNC); mdlog->submit_entry(le, new C_MDS_mknod_finish(mds, mdr, dn, newi, follows), true); + + if (!dn->get_dir()->get_inode()->filelock.is_stable()) + mdlog->flush(); } |