]>
git.apps.os.sepia.ceph.com Git - ceph.git/log
Sage Weil [Mon, 24 May 2010 23:49:05 +0000 (16:49 -0700)]
mds: make export targets stay in mdsmap for a while
This limits the mdsmap churn some. Keep old targets around for at least
min-max iterations before removing them.
Sage Weil [Mon, 24 May 2010 23:08:50 +0000 (16:08 -0700)]
mds: balancer cleanup
Sage Weil [Mon, 24 May 2010 22:50:20 +0000 (15:50 -0700)]
mds: warn on dn release that dne
Yehuda Sadeh [Mon, 24 May 2010 23:11:29 +0000 (16:11 -0700)]
rbd: modify rbd on-disk header
Yehuda Sadeh [Mon, 24 May 2010 22:58:36 +0000 (15:58 -0700)]
rbd: fix push_to_qemu.pl
Sage Weil [Mon, 24 May 2010 22:28:59 +0000 (15:28 -0700)]
mon: roll mkmonfs functionality into cmon --mkfs
Sage Weil [Mon, 24 May 2010 22:24:16 +0000 (15:24 -0700)]
filestore: make mkfs() zap any file or dirs it finds
Yehuda Sadeh [Mon, 24 May 2010 21:06:43 +0000 (14:06 -0700)]
rbd: modify header, add utility to ease sync with qemu tree
Sage Weil [Mon, 24 May 2010 20:50:00 +0000 (13:50 -0700)]
osd: keep recovery ops in sync with pull
Call start_recovery_op from pull() instead of fixing every caller (some
were wrong). This keeps the recovery state in sync with pulling state,
even when pull() has to pull something different (head, snapdir) first.
Fixes this crash:
osd/PG.cc: In function 'void PG::finish_recovery_op(const sobject_t&, bool)':
osd/PG.cc:1842: FAILED assert(recovering_oids.count(soid))
1: (PG::finish_recovery_op(sobject_t const&, bool)+0x14e) [0x74caf6]
2: (ReplicatedPG::sub_op_push(MOSDSubOp*)+0x1da8) [0x669292]
3: (ReplicatedPG::do_sub_op(MOSDSubOp*)+0x109) [0x671a73]
4: (OSD::dequeue_op(PG*)+0x23c) [0x6bda00]
5: (OSD::OpWQ::_process(PG*)+0x21) [0x7387c9]
6: (ThreadPool::WorkQueue<PG>::_void_process(void*)+0x28) [0x6f5e12]
7: (ThreadPool::worker()+0x23a) [0x7f2404]
8: (ThreadPool::WorkThread::entry()+0x19) [0x73b783]
9: (Thread::_entry_func(void*)+0x20) [0x64f92a]
10: /lib/libpthread.so.0 [0x7f7a12cf473a]
11: (clone()+0x6d) [0x7f7a11f1e69d]
Sage Weil [Mon, 17 May 2010 22:50:26 +0000 (15:50 -0700)]
mon: no need for 'whoami' file in store
The monitor rank is provided during startup. No need to verify it against
the monitor store, especially since the stores are otherwise identical.
This makes it simpler to restore/duplicate/wahtever a monitor.. just copy
the files.
Greg Farnum [Sun, 23 May 2010 22:13:33 +0000 (15:13 -0700)]
reword blacklisted output so it's clearly discussing MDSes and not OSDs
Sage Weil [Sat, 22 May 2010 16:56:27 +0000 (09:56 -0700)]
uclient: don't unlink null dentry when getting null linkage in mds reply
This broke semi-recently when the mds started returning null linkages (and
associated leases).
Sage Weil [Fri, 21 May 2010 23:17:48 +0000 (16:17 -0700)]
mon: trim pgmap states even when we don't have a full quorum
Sage Weil [Fri, 21 May 2010 23:17:34 +0000 (16:17 -0700)]
paxos: recover using stashed latest when state histories don't overlap
If we don't have incremental states to catch up, jump to the latest.
Sage Weil [Fri, 21 May 2010 21:55:38 +0000 (14:55 -0700)]
mds: anchor multiversion inode before unlinking it
If we are going to create a remote dentry linking to a multiversion inode
we're unlinking, make sure it's anchored!
This is a bit fugly because it mirrors the logic in journal_cow_dentry. No
obvious way to use a generic helper for that though.
Yehuda Sadeh [Fri, 21 May 2010 20:44:40 +0000 (13:44 -0700)]
librados.h: add other TMAP definitions
also add a comment in rados.h about the defines in librados.h
Sage Weil [Fri, 21 May 2010 19:08:17 +0000 (12:08 -0700)]
mds: fix readdir pingpong on snapped dir with multiple mds
Our traverse helper will follow the auth if we're looking at snapped
metadata, but we _don't_ want that for readdir because we check auth
ourselves, and want the dir's auth, not the inode's.
Signed-off-by: Sage Weil <sage@newdream.net>
Sage Weil [Thu, 20 May 2010 23:13:52 +0000 (16:13 -0700)]
monc: pick a different mon when repicking
Sage Weil [Thu, 20 May 2010 23:13:34 +0000 (16:13 -0700)]
monc: hunting by default
Otherwise if we fail to connect to the first mon we try, we never retry.
Yehuda Sadeh [Thu, 20 May 2010 23:18:29 +0000 (16:18 -0700)]
librados: update librados to define CEPH_OSD_TMAP_SET
Sage Weil [Thu, 20 May 2010 18:14:41 +0000 (11:14 -0700)]
mon: fix mon injectargs, and simplify
Sage Weil [Thu, 20 May 2010 17:58:56 +0000 (10:58 -0700)]
osd: simplify --mkjournal, add --flush-journal
Sage Weil [Thu, 20 May 2010 17:39:57 +0000 (10:39 -0700)]
Merge branch 'osd_snapdir' into unstable
Sage Weil [Thu, 20 May 2010 17:39:47 +0000 (10:39 -0700)]
osd: nicer debug output
Sage Weil [Thu, 20 May 2010 17:33:55 +0000 (10:33 -0700)]
interval_set: fix union_of _size accounting; optimize ==
Sage Weil [Wed, 19 May 2010 23:42:34 +0000 (16:42 -0700)]
mds: fix interval_set copy of projected_free
Sage Weil [Wed, 19 May 2010 23:42:34 +0000 (16:42 -0700)]
mds: fix interval_set copy of projected_free
Sage Weil [Wed, 19 May 2010 23:11:10 +0000 (16:11 -0700)]
osd: use blank reqid for snapdir events, too
Make reqid_is_indexed() less weird.
Sage Weil [Wed, 19 May 2010 23:10:14 +0000 (16:10 -0700)]
osd: do not index by reqid if reqid not defined
Sage Weil [Wed, 19 May 2010 22:42:50 +0000 (15:42 -0700)]
osd: update purged_snaps in PG::Info on trim completion; and replicate
Yehuda Sadeh [Wed, 19 May 2010 18:13:28 +0000 (11:13 -0700)]
rbd: fix snap_seq type in rbd_header
Sage Weil [Wed, 19 May 2010 18:49:15 +0000 (11:49 -0700)]
initscripts: remove 'flushoncommit' from default btrfs mount options
Sage Weil [Wed, 19 May 2010 17:53:32 +0000 (10:53 -0700)]
osd: trim snaps via replicated osd ops
Sage Weil [Wed, 19 May 2010 17:42:20 +0000 (10:42 -0700)]
osd: make build_removed_snaps, is_removed_snap consistent
Greg Farnum [Wed, 19 May 2010 17:35:28 +0000 (10:35 -0700)]
rados: update documentation to mention mkpool and rmpool
Sage Weil [Tue, 18 May 2010 22:04:17 +0000 (15:04 -0700)]
osd: fix peer_info updates on active primary
Sage Weil [Tue, 18 May 2010 15:01:03 +0000 (08:01 -0700)]
automake: some clean up
Yehuda Sadeh [Mon, 17 May 2010 23:29:50 +0000 (16:29 -0700)]
poolop: fix MPoolOpReply decoding
Sage Weil [Fri, 14 May 2010 17:44:00 +0000 (10:44 -0700)]
throttle: allow large items if we're under our max
Normally we stay under max, but for large items, take it as long as we're
currently below max. This avoids deadlock.
Sage Weil [Sun, 16 May 2010 03:55:44 +0000 (20:55 -0700)]
osd: purged_snaps in PG::Info, queue snap trim on primary
Sage Weil [Fri, 14 May 2010 21:18:21 +0000 (14:18 -0700)]
osd: include snapdir objects in pg log for proper replication, recovery
Sage Weil [Fri, 14 May 2010 18:36:41 +0000 (11:36 -0700)]
strings: clean up pool op names
Sage Weil [Fri, 14 May 2010 18:32:51 +0000 (11:32 -0700)]
mds: allow readdir result limit in bytes
This will allow the client to bound the size of the reply it gets
Sage Weil [Fri, 14 May 2010 16:43:31 +0000 (09:43 -0700)]
debian: put proper distribution in debian changelog
Sage Weil [Fri, 14 May 2010 16:14:00 +0000 (09:14 -0700)]
version: use next version ~rc for unstable branch
This makes unstable always sort after stable, testing releases:
0.21~rc-unstable... > 0.20.1-testing...
Sage Weil [Thu, 13 May 2010 20:28:46 +0000 (13:28 -0700)]
radosgw_admin: die after first bad argument
Sage Weil [Thu, 13 May 2010 17:47:33 +0000 (10:47 -0700)]
objecter: separately track pgmap, osdmap state machine version
Mixing these up can make our request hang on the monitor indefinitely.
Sage Weil [Thu, 13 May 2010 17:47:07 +0000 (10:47 -0700)]
mon: return correct state machine epoch in replies
Sage Weil [Thu, 13 May 2010 17:46:47 +0000 (10:46 -0700)]
testrados: fix aio api usage
Sage Weil [Thu, 13 May 2010 17:46:38 +0000 (10:46 -0700)]
librados: implement rados_stat_pool()
Sage Weil [Wed, 12 May 2010 23:13:36 +0000 (16:13 -0700)]
Merge branch 'unstable' of ceph.newdream.net:git/ceph into unstable
Sage Weil [Wed, 12 May 2010 23:13:03 +0000 (16:13 -0700)]
rados: fix typo
Sage Weil [Wed, 12 May 2010 21:42:24 +0000 (14:42 -0700)]
osd: add CEPH_PG_MAX_SIZE to header
Sage Weil [Wed, 12 May 2010 21:41:13 +0000 (14:41 -0700)]
filestore: update btrfs ioctl.h
Sage Weil [Wed, 12 May 2010 21:41:00 +0000 (14:41 -0700)]
client: un-"fix" u64 types in client/ioctl.h
Sage Weil [Tue, 11 May 2010 22:03:02 +0000 (15:03 -0700)]
msgr: fix possible overflow when sending seq
Sage Weil [Tue, 11 May 2010 22:02:52 +0000 (15:02 -0700)]
msgr: print message encoding version to aid debugging
Yehuda Sadeh [Wed, 12 May 2010 22:09:28 +0000 (15:09 -0700)]
ceph_strings: checkpatch fix
Yehuda Sadeh [Wed, 12 May 2010 22:08:24 +0000 (15:08 -0700)]
ceph_fs.h: checkpatch fixes
Yehuda Sadeh [Wed, 12 May 2010 22:08:09 +0000 (15:08 -0700)]
cmpxattr: null termination fixes
Sage Weil [Wed, 12 May 2010 18:56:03 +0000 (11:56 -0700)]
rados: add 'tmap dump'
Sage Weil [Wed, 12 May 2010 18:54:09 +0000 (11:54 -0700)]
osd: set obs.exists in projected object state during recovery
Sage Weil [Wed, 12 May 2010 18:53:50 +0000 (11:53 -0700)]
mds: warn, don't crash, on trailing garbage in dir objects
Sage Weil [Tue, 11 May 2010 23:52:48 +0000 (16:52 -0700)]
msgr: put msgvec on heap
It can get too big for the stack.
Sage Weil [Wed, 12 May 2010 04:14:39 +0000 (21:14 -0700)]
msgr: tolerate incoming seq #'s that skip ahead
This is necessary because the kclient may pull messages out of the out/sent
queues, and we can't renumber previously sent (and possibly received)
messages without breaking things entirely.
Sage Weil [Tue, 11 May 2010 21:46:01 +0000 (14:46 -0700)]
ceph: return error code returned by server
Sage Weil [Tue, 11 May 2010 20:28:53 +0000 (13:28 -0700)]
mds: drop 'closed' bit from MClientReconnect
Sage Weil [Tue, 11 May 2010 20:13:24 +0000 (13:13 -0700)]
msgr: set outgoing msg connection before encoding
This allows encode_payload to adjust behavior based on the target peer's
feature bits.
Sage Weil [Sat, 8 May 2010 04:27:57 +0000 (21:27 -0700)]
poolop: make new encoding backward compatible
This makes
cea221c64 behave when messages using the old encoding (that is,
older versions of the client talk to us).
Sage Weil [Tue, 11 May 2010 16:36:02 +0000 (09:36 -0700)]
osd: fix compile error from cmpxattr, cleanup.
I think the xattr bufferlist still needs to be null terminated...
Sage Weil [Tue, 11 May 2010 16:24:00 +0000 (09:24 -0700)]
osd: fix layout return type
Sage Weil [Mon, 10 May 2010 23:21:59 +0000 (16:21 -0700)]
msgr: be less noisy about msgr throttling
Yehuda Sadeh [Mon, 10 May 2010 23:18:52 +0000 (16:18 -0700)]
osd: add cmpxattr op handling
Sage Weil [Mon, 10 May 2010 23:00:22 +0000 (16:00 -0700)]
debian: remove pull.sh calls from helper .sh scripts
Sage Weil [Mon, 10 May 2010 22:53:52 +0000 (15:53 -0700)]
atomic: cast away const on read()
(Only needed to build on lenny, this can go away someday)
Sage Weil [Fri, 7 May 2010 23:40:49 +0000 (16:40 -0700)]
osd: 'stop' command
Sage Weil [Fri, 7 May 2010 22:57:37 +0000 (15:57 -0700)]
mds: fix max_size==1 bug
We should provide a minimum of one stripe unit.
Sage Weil [Fri, 7 May 2010 22:00:22 +0000 (15:00 -0700)]
Merge branch 'string' into unstable
Conflicts:
src/client/Client.h
src/messages/MAuthReply.h
src/messages/MClientLease.h
src/osd/ReplicatedPG.cc
src/osd/osd_types.h
src/osdc/Journaler.h
Sage Weil [Fri, 7 May 2010 21:55:31 +0000 (14:55 -0700)]
types: clean up printf format warnings
bah
Sage Weil [Fri, 7 May 2010 21:30:51 +0000 (14:30 -0700)]
rgw: clean up dup #define
Sage Weil [Fri, 7 May 2010 21:33:42 +0000 (14:33 -0700)]
types: standardize on uint64_t
The problem is that on some platforms __u64 == uint64_t (x86_64), and on
others it's doesn't (ppc64). Which means we don't know whether to define
different versions of overloaded functions for both types or just one.
So, standardize on uint64_t. This plays nicer with STL, which defines
hash<uint64_t> on 64 bit arches but not 32 bit. Which means we can't
standarzie on __u64 or else hash<__u64> won't work. Bah!
Sage Weil [Fri, 7 May 2010 20:45:00 +0000 (13:45 -0700)]
endian: simplify __le* type hackery
Instead of preventing linux/types.h from being included, instead name
our types ceph_le*, and remap using #define _only_ when including the
shared kernel/userspace headers.
Also redefine some templates for both __u64 and uint64_t, which are
apparently not the same on x86_64.
Sage Weil [Fri, 7 May 2010 19:30:07 +0000 (12:30 -0700)]
ceph.spec.in: --without-hadoop --without-debug
to sync up with f13
Yehuda Sadeh [Fri, 7 May 2010 20:48:28 +0000 (13:48 -0700)]
rbdtool: --list on empty pool returns correct message
and also command doesn't hang. This fixes bug #115.
Sage Weil [Fri, 7 May 2010 18:54:07 +0000 (11:54 -0700)]
time: include _ between date and time
Sage Weil [Fri, 7 May 2010 18:53:03 +0000 (11:53 -0700)]
osd: remove bad assert in get_object_context()
This has always been fishy, and it's original purpose isn't quite clear.
The '!obc->obs.ssc' is clearly the create case, but the head_exists check
is only the case if we are getting the context for a _head, which in
many cases we're not. In parituclarly, it fails for a snapped object
where the head doesn't exist. We _do_ have teh ssc (from the _snapdir
object) but there is no head.
Just remove the assert entirely.. it's not clear what it's really catching.
Sage Weil [Fri, 7 May 2010 18:58:16 +0000 (11:58 -0700)]
mds: always release snap cap after flushsnap
The old condition makes no sense. It appears to have been broken since
2008, commit
a5d5e679 ? Yikes.
The problem is that a flushsnap will 'release' the caps, but still leave
an open Capability on the CInode. Then, CInode::encode_inodestat() would
& issued() when issuing caps, and a client ceph_open() would get no
caps. The kclient is fixed up to at least not crash in that case, but even
with the fix it deadlocked.
Sage Weil [Fri, 7 May 2010 16:34:48 +0000 (09:34 -0700)]
osd: don't put() null ctx->op (message)
Sage Weil [Fri, 7 May 2010 16:05:14 +0000 (09:05 -0700)]
scripts: fix check_pglog.sh
Sage Weil [Fri, 7 May 2010 15:52:18 +0000 (08:52 -0700)]
script: add check_pglog.sh
Check pglog for zero segments, normally caused by a race between
pg log replacement (rm log, rewrite log) vs append race.
For example, see
686192a03eb7d28c7340dcab6d9671505f9cd986
Sage Weil [Thu, 6 May 2010 22:30:14 +0000 (15:30 -0700)]
mdsmap: lose angle braces, use tabs
Sage Weil [Thu, 6 May 2010 22:27:07 +0000 (15:27 -0700)]
osdmap: initially osds don't exist; create them as they boot
Sage Weil [Thu, 6 May 2010 21:04:35 +0000 (14:04 -0700)]
osd: resurrect CEPH_OSD_EXISTS flag
Mainly so we can track how many osds are in the cluster, even if they
don't start at 0.
Sage Weil [Thu, 6 May 2010 18:10:14 +0000 (11:10 -0700)]
logger: be more careful calculating variance
Sage Weil [Wed, 5 May 2010 22:26:45 +0000 (15:26 -0700)]
debian: use 'testing' or 'unstable' in place of 'git' in version suffix
Sage Weil [Wed, 5 May 2010 21:40:59 +0000 (14:40 -0700)]
librados: separate callbacks for aio ack/complete and safe
Sage Weil [Thu, 6 May 2010 18:30:51 +0000 (11:30 -0700)]
osd: clear pg REPLAY when we reinitiate peering
Among other things, a stray/bad REPLAY flag can trigger a false activation
like so:
osd/PG.cc: In function 'void PG::activate(ObjectStore::Transaction&, std::list<Context*, std::allocator<Context*> >&, std::map<int, MOSDPGInfo*, std::less<int>, std::allocator<std::pair<const int, MOSDPGInfo*> > >*)':
osd/PG.cc:1641: FAILED assert(peer_info.count(peer))
1: (PG::activate(ObjectStore::Transaction&, std::list<Context*, std::allocator<Context*> >&, std::map<int, MOSDPGInfo*, std::less<int>, std::allocator<std::pair<int const, MOSDPGInfo*> > >*)+0x817) [0x75e637]
2: (OSD::activate_pg(pg_t, utime_t)+0x136) [0x6bfe86]
3: (OSD::check_replay_queue()+0x134) [0x6c0074]
4: (OSD::tick()+0x1db) [0x6d96eb]
5: (OSD::C_Tick::finish(int)+0x1c) [0x74844e]
6: (SafeTimer::EventWrapper::finish(int)+0x6d) [0x7fa2cf]
7: (Timer::timer_entry()+0x454) [0x7fb52a]
8: (Timer::TimerThread::entry()+0x19) [0x647c09]
9: (Thread::_entry_func(void*)+0x20) [0x659f18]
10: /lib/libpthread.so.0 [0x7fceb73d473a]
11: (clone()+0x6d) [0x7fceb65fe69d]
Greg Farnum [Wed, 5 May 2010 21:04:15 +0000 (14:04 -0700)]
rgw: admin uses --secret instead of --key (as --key is already taken)
Greg Farnum [Wed, 5 May 2010 20:55:49 +0000 (13:55 -0700)]
osd: fix critical cap parsing bugs and documentation.
Sage Weil [Tue, 4 May 2010 20:57:39 +0000 (13:57 -0700)]
msgr: fix local_pipe peer_type
Need to re-init_local_pipe() after register_entity().