Journal the client's safe tid with new requests. This keeps the client
completed_requests list trimmed, so that we don't build up a ginormous
list of all requests over the entire journal.
Forward rolling mds format change.
We were missing a Makefile dependency for debug.cc, without it make -j fails
because ceph_ver.h hasn't been created.
Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Sage Weil <sage@newdream.net>
Not doing so can eventually lead to
msg/SimpleMessenger.cc: In function 'int SimpleMessenger::Pipe::accept()':
msg/SimpleMessenger.cc:765: FAILED assert(existing->state == STATE_CONNECTING)
A dir may be redirtied after the commit, such that it never becomes clean.
It only needs to stay on the 'new' list until it's been written to disk
at least once, though.
We would block on journal full, but then try to continue where we left off,
which broke thoroughly. Add return codes, and wait at the proper times:
- if journal if full on first event, wait. otherwise, write what we have
so far.
- wait in write_thread_entry(), not check_for_full().
Also fix up 'room' calculation.
Prior to ceph-client.git commit 819ccbfa448, this will cause a
VFS: Busy inodes after unmount of ceph. Self-destruct in 5 seconds. Have a nice day...
on umount.
We should only drop obsolete snapped metadata when it is unreferenced, and
at that point we need to drop the dentry AND inode, not just the dentry.
This delays things until caps are released, among other things.
Not sure what the reasoning behind this was.
This code is from pre git history, and the git->subversion conversion
managed to make pretty git-blame unusable. I doubt I really documented
what its purpose at that point was anyway.
This lets us drop the src, orig_src ceph_entity_addr's from the message
header, saving about 160 bytes per message.
The feature is optional. We can still talk to peers who use the old
protocol.