]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Mon, 26 Apr 2010 17:14:58 +0000 (10:14 -0700)]
mds: fix snaprealm split on capless inode
Sage Weil [Fri, 23 Apr 2010 23:21:05 +0000 (16:21 -0700)]
buffer: clean up namespace pollution
Yehuda Sadeh [Sat, 24 Apr 2010 17:10:00 +0000 (10:10 -0700)]
poolop: rename and move definitions to ceph_fs.h
This was done so that we can use it in the kclient
Sage Weil [Fri, 23 Apr 2010 22:50:29 +0000 (15:50 -0700)]
Makefile: define __CEPH__ in ceph builds. use it.
Avoid breakage when headers are used outside of ceph build (librados-dev)
Sage Weil [Fri, 23 Apr 2010 22:22:29 +0000 (15:22 -0700)]
mds: fix req use-after-free to get connection to direct reply
Greg Farnum [Fri, 23 Apr 2010 22:13:35 +0000 (15:13 -0700)]
atomic: reverse if test so we don't break things on separately-compiled librados
Greg Farnum [Wed, 21 Apr 2010 18:06:06 +0000 (11:06 -0700)]
mds: remove unused variable from Locker
Sage Weil [Fri, 23 Apr 2010 21:50:26 +0000 (14:50 -0700)]
debian: build-depends libatomicops-dev
Sage Weil [Fri, 23 Apr 2010 21:47:39 +0000 (14:47 -0700)]
Merge branch 'snaps' into unstable
Sage Weil [Fri, 23 Apr 2010 21:46:57 +0000 (14:46 -0700)]
mon: clean up mon snap type checks
Sage Weil [Fri, 23 Apr 2010 21:38:31 +0000 (14:38 -0700)]
osd: no error checking in data structure (caller should do it)
Sage Weil [Fri, 23 Apr 2010 21:38:15 +0000 (14:38 -0700)]
mon: don't create/delete unmanaged snaps if pool snaps exist
Sage Weil [Fri, 23 Apr 2010 21:33:11 +0000 (14:33 -0700)]
librados: clean up headres
Sage Weil [Tue, 13 Apr 2010 17:54:43 +0000 (10:54 -0700)]
objecter: do pool op result parsing in Objecter completion wrapper
Greg Farnum [Tue, 13 Apr 2010 17:34:59 +0000 (10:34 -0700)]
librados: Adjust snapid allocation ufnctions and implement new objecter spec
Greg Farnum [Tue, 13 Apr 2010 17:34:25 +0000 (10:34 -0700)]
objecter: Implement bufferlist-based return code for pool ops
Greg Farnum [Fri, 9 Apr 2010 23:53:13 +0000 (16:53 -0700)]
mon: OSDMonitor fills in MPoolOpReply's bufferlist on unmanaged snap creation
Greg Farnum [Fri, 9 Apr 2010 23:46:05 +0000 (16:46 -0700)]
msg: Give MPoolOpReply a bufferlist for reply data
Greg Farnum [Fri, 9 Apr 2010 23:40:18 +0000 (16:40 -0700)]
mon: change the unmanaged snap interface for better distinction of reply codes
and snapid numbers.
Of course, this now means that the snapid isn't actually passed
back to the client, but that is about to change.
Greg Farnum [Fri, 9 Apr 2010 21:53:29 +0000 (14:53 -0700)]
librados: Set selfmanaged snap functions to use int instead of int64_t, too
Greg Farnum [Fri, 9 Apr 2010 20:52:24 +0000 (13:52 -0700)]
librados: add small bit of documentation, fix headers
Greg Farnum [Fri, 9 Apr 2010 20:47:49 +0000 (13:47 -0700)]
mon: don't crash if a client tries to self-manage managed snaps, or vice versa
Greg Farnum [Fri, 9 Apr 2010 19:33:23 +0000 (12:33 -0700)]
librados: add functions for client-managed snapshots in all the interfaces
Greg Farnum [Thu, 8 Apr 2010 22:54:40 +0000 (15:54 -0700)]
objecter: New functions for client-managed snapshots.
Greg Farnum [Thu, 8 Apr 2010 22:54:05 +0000 (15:54 -0700)]
mon: OSDMonitor handles client-managed snapshot requests.
Greg Farnum [Thu, 8 Apr 2010 21:45:57 +0000 (14:45 -0700)]
osd: pg_pool_t gets new functions for unmanaged (ie, client-managed) snaps
Greg Farnum [Thu, 8 Apr 2010 22:53:23 +0000 (15:53 -0700)]
msg: Add space for snapid in MPoolOp. Reply now uses an int64_t replyCode.
This allows space for a full 64-bit snapid to be returned, which is about
to be necessary.
Sage Weil [Fri, 23 Apr 2010 21:30:23 +0000 (14:30 -0700)]
msgr: fix atomic_t test
Missed this in merge
50285ecf5c404b456a0427eb7d6d1097ffc0ea83
Sage Weil [Fri, 23 Apr 2010 21:22:41 +0000 (14:22 -0700)]
Merge branch 'atomic' into unstable
Sage Weil [Fri, 23 Apr 2010 21:22:04 +0000 (14:22 -0700)]
Merge branch 'msgr' into unstable
Conflicts:
src/TODO
src/mds/Server.cc
src/msg/SimpleMessenger.cc
src/msg/SimpleMessenger.h
src/osd/OSD.cc
Sage Weil [Fri, 23 Apr 2010 19:10:24 +0000 (12:10 -0700)]
v0.20
Sage Weil [Fri, 23 Apr 2010 18:07:16 +0000 (11:07 -0700)]
mds: skip client snap notification on unlink
This is cheating a bit, but should be harmless. Basically, we spit off the
snaprealm when we unlink to keep the hierarchy vs snaprealm invariants
intact. But we don't really care if the client does so, so we skip the
client_snap notifications.
That means the client will leave unlinked inodes in the realm they were
in at the time of unlink. I'm pretty sure that won't cause problems
later.
Sage Weil [Thu, 22 Apr 2010 22:05:55 +0000 (15:05 -0700)]
osd: more useful debugging on repop version, out of order completion
Sage Weil [Thu, 22 Apr 2010 21:09:51 +0000 (14:09 -0700)]
osd: print a bit more debug info about compat problems
Sage Weil [Thu, 22 Apr 2010 20:41:17 +0000 (13:41 -0700)]
mds: verify mdsmap compatset on startup
Sage Weil [Thu, 22 Apr 2010 20:41:02 +0000 (13:41 -0700)]
mds: add CompatSet to mdsmap
Yehuda Sadeh [Thu, 22 Apr 2010 21:40:09 +0000 (14:40 -0700)]
rbd: change rbd header disk format, update protocol version
Sage Weil [Thu, 22 Apr 2010 20:10:40 +0000 (13:10 -0700)]
msgr: never (re)open pipe when sending message directly to Connection*
Sage Weil [Thu, 22 Apr 2010 19:04:01 +0000 (12:04 -0700)]
mdsmap: add separate struct version for extended portion of mdsmap
Sage Weil [Thu, 22 Apr 2010 18:43:37 +0000 (11:43 -0700)]
cauthtool: add --gen-print-key
Just generate a random cryptokey and print it out.
Sage Weil [Thu, 22 Apr 2010 18:39:40 +0000 (11:39 -0700)]
auth: take key or file containing key on command line
e.g.
ceph --key AQBggdBLCJwLABAAuPVK/qJ3/ySbRvEnJHNJ8w== -s
ceph --keyfile file_with_key -s
ceph -K file_with_key -s
ceph -k keyring.bin -s
Sage Weil [Thu, 22 Apr 2010 18:27:00 +0000 (11:27 -0700)]
cauthtool: always print entire encoded CryptoKey
Make cauthtool -l output consistent with what you need to feed to
mount.ceph(8).
Sage Weil [Thu, 22 Apr 2010 14:37:13 +0000 (07:37 -0700)]
msgr: increment connect_seq when STANDBY->CONNECTING
Otherwise we get this on the peer:
msg/SimpleMessenger.cc: In function 'int SimpleMessenger::Pipe::accept()':
msg/SimpleMessenger.cc:767: FAILED assert(existing->state == STATE_CONNECTING)
1: (SimpleMessenger::Pipe::accept()+0x14b2) [0x654888]
2: (SimpleMessenger::Pipe::reader()+0x32) [0x65538c]
3: (SimpleMessenger::Pipe::Reader::entry()+0x19) [0x649493]
4: (Thread::_entry_func(void*)+0x20) [0x659b06]
5: /lib/libpthread.so.0 [0x7fcdc782f73a]
6: (clone()+0x6d) [0x7fcdc6a5969d]
NOTE: a copy of the executable, or `objdump -rdS <executable>` is needed to interpret this.
Sage Weil [Wed, 21 Apr 2010 22:28:48 +0000 (15:28 -0700)]
Merge remote branch 'origin/mdssnaps' into unstable
Sage Weil [Wed, 21 Apr 2010 22:23:46 +0000 (15:23 -0700)]
filestore: default to writeahead journal, and no btrfs snaps
At least until btrfs snap deletion doesn't require a full commit (i.e. each
commit cycle doesn't do a commit for the snap creation AND another for the
old snap deletion).
Sage Weil [Wed, 21 Apr 2010 21:56:35 +0000 (14:56 -0700)]
rbdtool: add, use prettybyte_t type
Sage Weil [Wed, 21 Apr 2010 21:52:29 +0000 (14:52 -0700)]
rbdtool: add --info, --resize commands
Sage Weil [Wed, 21 Apr 2010 21:52:15 +0000 (14:52 -0700)]
auth: make 'admin' the default user
We don't create a 'guest' user anyway.
Sage Weil [Wed, 21 Apr 2010 21:23:52 +0000 (14:23 -0700)]
librados: adjust C++ aio completion creation api
Sage Weil [Wed, 21 Apr 2010 19:18:19 +0000 (12:18 -0700)]
sample.ceph.conf: add example on writeahead (vs parallel) journal
Sage Weil [Wed, 21 Apr 2010 19:08:59 +0000 (12:08 -0700)]
osd: create 'rbd' pool
Sage Weil [Wed, 21 Apr 2010 17:58:29 +0000 (10:58 -0700)]
debian: require hdparm, recommend btrfs-tools
Sage Weil [Wed, 21 Apr 2010 17:58:29 +0000 (10:58 -0700)]
debian: require hdparm, recommend btrfs-tools
Sage Weil [Tue, 20 Apr 2010 23:06:21 +0000 (16:06 -0700)]
mds: always use get_newest_seq (not snap) when doing cow
Sage Weil [Tue, 20 Apr 2010 19:40:11 +0000 (12:40 -0700)]
mds: rename move_to_realm(), add debugging (cleanup)
Sage Weil [Tue, 20 Apr 2010 19:39:23 +0000 (12:39 -0700)]
mds: don't cow already cowed dentry
Sage Weil [Tue, 20 Apr 2010 23:20:11 +0000 (16:20 -0700)]
sample.ceph.conf: updated
Sage Weil [Tue, 20 Apr 2010 22:25:00 +0000 (15:25 -0700)]
fetch_config: enable fetching ceph.conf from a remote location
fetch_config: always fetch if script exists and is executable
fetch_config: make /etc/ceph/sample.fetch_config +x
Makefile: fix whitespace
Sage Weil [Tue, 20 Apr 2010 17:47:10 +0000 (10:47 -0700)]
osd: don't capture SIGINT/SIGTERM; journal and/or btrfs snaps are sufficient.
We used to do this to avoid corrupting the filestore, but since we can now
either roll forward with the writeahead journal OR roll back using btrfs
snaps, this is useless. It wasn't a full solution anyway.
Sage Weil [Tue, 20 Apr 2010 17:39:23 +0000 (10:39 -0700)]
auth: less noisy debug
Sage Weil [Tue, 20 Apr 2010 16:59:16 +0000 (09:59 -0700)]
mds: drop mutation locks
Saw this one, but fixed others that appear broken as well:
mds/MDCache.h: In function 'virtual Mutation::~Mutation()':
mds/MDCache.h:115: FAILED assert(pins.empty())
1: (Mutation::~Mutation()+0x46) [0x791716]
2: (MDCache::truncate_inode_logged(CInode*, Mutation*)+0x7b) [0x7bd6b7]
3: (C_MDC_TruncateLogged::finish(int)+0x2c) [0x84100e]
4: (finish_contexts(std::list<Context*, std::allocator<Context*> >&, int)+0x1af) [0x74a807]
5: (Journaler::_finish_flush(int, long, utime_t, bool)+0x873) [0x92ea71]
6: (Journaler::C_Flush::finish(int)+0x43) [0x936503]
7: (Objecter::handle_osd_op_reply(MOSDOpReply*)+0xcf5) [0x8ff00f]
8: (MDS::_dispatch(Message*)+0x1ee0) [0x726372]
9: (MDS::ms_dispatch(Message*)+0x2f) [0x7274b9]
10: (Messenger::ms_deliver_dispatch(Message*)+0x55) [0x719949]
11: (SimpleMessenger::dispatch_entry()+0x4f4) [0x7074b2]
12: (SimpleMessenger::DispatchThread::entry()+0x29) [0x7039d1]
13: (Thread::_entry_func(void*)+0x20) [0x71412e]
14: /lib/libpthread.so.0 [0x7f25474e073a]
15: (clone()+0x6d) [0x7f254670a69d]
Sage Weil [Tue, 20 Apr 2010 03:43:22 +0000 (20:43 -0700)]
osd: fix snapset loading from _snapdir
Another masked variable! In the same block as the last one! Aie.
Sage Weil [Tue, 20 Apr 2010 03:29:14 +0000 (20:29 -0700)]
mds: clone dentry for multiversion dir if linkage is changing...
...even if the inode itself doesn't need to be cowed. In particular, we
do the pre_cow_old_inode() thing, so it frequently doesn't need to be cowed,
but the dentry does when we are say unlinking a directory or some such.
Sage Weil [Mon, 19 Apr 2010 23:38:53 +0000 (16:38 -0700)]
mds: avoid null deref when hiding .ceph dir
Greg Farnum [Mon, 19 Apr 2010 21:32:36 +0000 (14:32 -0700)]
mds: rename send_message_client to send_message_client_counted
Greg Farnum [Mon, 19 Apr 2010 21:22:50 +0000 (14:22 -0700)]
mds: fix erroneous uses of send_message that need to be send_message_client
Greg Farnum [Mon, 19 Apr 2010 21:22:23 +0000 (14:22 -0700)]
mds: Add new Connection-based send_message_client that uses inc_push_seq too
Jim Schutt [Fri, 16 Apr 2010 22:25:49 +0000 (16:25 -0600)]
autoconf: Fix detection of sync_file_range.
Without this patch, on CentOS 5.4 ./configure reports that
sync_file_range is missing, but HAVE_SYNC_FILE_RANGE ends
up being defined in src/acconfig.h anyway.
Compile tested on CentOS 5.4 (which does not have sync_file_range(2)
in distro glibc) and Fedora 11 (which does).
Signed-off-by: Jim Schutt <jaschut@sandia.gov>
Greg Farnum [Fri, 16 Apr 2010 22:51:55 +0000 (15:51 -0700)]
remove references to [group] and [mount] in sample.ceph.conf
Greg Farnum [Fri, 16 Apr 2010 22:18:26 +0000 (15:18 -0700)]
add executables to .gitignore
Greg Farnum [Fri, 16 Apr 2010 21:55:07 +0000 (14:55 -0700)]
mds: Fix bad pointer dereference brought about by switch to Message ref-counting
Sage Weil [Fri, 16 Apr 2010 20:51:58 +0000 (13:51 -0700)]
mds: xlock versionlock on rename if witnesses
This ensures that we don't pipeline dentry linkage updates when there
are witnesses. That can cause problems because replicas don't see
projected dentry linkage info, and will get confused when they look at
the replica of the srcdn and it's, say, NULL and not srci.
Greg Farnum [Fri, 16 Apr 2010 19:30:44 +0000 (12:30 -0700)]
mds: use Connection-based send_message in handle_discover
Greg Farnum [Fri, 16 Apr 2010 19:28:56 +0000 (12:28 -0700)]
msg: Remove "asker" data member from MDiscover.
Fix uses.
Greg Farnum [Fri, 16 Apr 2010 19:28:14 +0000 (12:28 -0700)]
mds: Fix some compile-time issues.
Greg Farnum [Fri, 16 Apr 2010 17:39:09 +0000 (10:39 -0700)]
mds: Subsystems generally use the connection-based send_message when possible.
This isn't a very deep change, though -- a lot of the remaining instances
could probably be fixed up just by changing passthrough variables and whatnot.
Greg Farnum [Fri, 16 Apr 2010 16:36:30 +0000 (09:36 -0700)]
mds: create send_message(Message *m, Connection *c) passthrough
Yehuda Sadeh [Fri, 16 Apr 2010 00:04:43 +0000 (17:04 -0700)]
rados: aio, reorder callback completion handler creation
Greg Farnum [Thu, 15 Apr 2010 23:34:17 +0000 (16:34 -0700)]
mds: set trivial uses of send_message to use the Connection version.
Greg Farnum [Thu, 15 Apr 2010 20:38:19 +0000 (13:38 -0700)]
osd: send_message via Connection when possible
Greg Farnum [Thu, 15 Apr 2010 20:24:45 +0000 (13:24 -0700)]
osd: send reply via connection for MOSDSubOps
Greg Farnum [Thu, 15 Apr 2010 20:19:22 +0000 (13:19 -0700)]
osd: Send messages via Connection * when possible.
Also, rename a message shadowing its trigger message so that we can.
Greg Farnum [Thu, 15 Apr 2010 19:23:19 +0000 (12:23 -0700)]
msgr: Implement new send_message[_lazy](Message *m, Connection *con) functions.
These can reduce the number of lookups and should be able to recover
from any pipes being destroyed while the Connection is still active.
Sage Weil [Thu, 15 Apr 2010 21:44:17 +0000 (14:44 -0700)]
filestore: be thorough about wiping out old osd data content during mkfs
Delete any subvols or directories that we fine.
Greg Farnum [Thu, 15 Apr 2010 19:07:37 +0000 (12:07 -0700)]
msgr: if a pipe** is passed in to submit_message, it's used.
This is a double pointer because it's possible that a Pipe has
been destroyed since the send_message call, so we want to check
that the Pipe * remains set after we've taken the main lock.
Greg Farnum [Thu, 15 Apr 2010 20:10:47 +0000 (13:10 -0700)]
msgr: give submit_message new interface.
Greg Farnum [Thu, 15 Apr 2010 18:58:43 +0000 (11:58 -0700)]
msgr: Add a void *pipe to Connection.
This is set on Connection creation and zeroed out in ~Pipe().
Greg Farnum [Thu, 15 Apr 2010 20:08:51 +0000 (13:08 -0700)]
msgr: remove unnecessary clone variable from submit_message
Sage Weil [Thu, 15 Apr 2010 17:12:40 +0000 (10:12 -0700)]
filestore: log snap_create error before asserting success
Sage Weil [Thu, 15 Apr 2010 17:09:42 +0000 (10:09 -0700)]
mon: do not build mon to mon authorizer if cephx is disabled
Greg Farnum [Wed, 14 Apr 2010 23:51:40 +0000 (16:51 -0700)]
atomic_t: Add a new version based on libatomic_ops.
Hopefully this version will take less CPU since it isn't running Spinlocks, but
we'll need to test for that.
Includes appropriate Makefile and configure changes.
Greg Farnum [Wed, 14 Apr 2010 20:05:03 +0000 (13:05 -0700)]
atomic_t: Remove (never used) unstable commonc++-based version
Greg Farnum [Wed, 14 Apr 2010 19:58:43 +0000 (12:58 -0700)]
buffer: Include Spinlock.h.
This is inherited from one implementation of atomic_t but not necessarily all.
Including the file here is necessary in the case of new, faster atomic_t
implementations that don't use Spinlocks.
Sage Weil [Wed, 14 Apr 2010 22:18:52 +0000 (15:18 -0700)]
osd: fix source type checks (osd, mon)
The peer type is on the connection, no need to look at Session. Also, we
don't currently have Sessions for outgoing connections.
Sage Weil [Wed, 14 Apr 2010 22:08:47 +0000 (15:08 -0700)]
osd: don't ->put() a null session in _share_map_incoming
Sage Weil [Wed, 14 Apr 2010 21:47:44 +0000 (14:47 -0700)]
osd: queue pg update under pg sequencer
Sage Weil [Wed, 14 Apr 2010 21:47:05 +0000 (14:47 -0700)]
osd: queue pg creation under pg sequencer
Avoids pg log, metadata writes from being reordered. Had to refactor
try_create_pg to be less annoying.
Sage Weil [Wed, 14 Apr 2010 17:08:57 +0000 (10:08 -0700)]
mds: not dout(0) request latency
Sage Weil [Wed, 14 Apr 2010 17:08:42 +0000 (10:08 -0700)]
qa: set -e in workunits
Sage Weil [Wed, 14 Apr 2010 18:08:38 +0000 (11:08 -0700)]
mds: fix broken snaprealm split optimization for (unlinked) files
Splitting a file is trivial; do it. No special case for 'stray'.