Commit Graph

10381 Commits

Author SHA1 Message Date
Yehuda Sadeh
f857a2e138 osd: add cmpxattr op handling 2010-05-10 16:18:52 -07:00
Sage Weil
4d667dde83 debian: remove pull.sh calls from helper .sh scripts 2010-05-10 16:00:22 -07:00
Sage Weil
324fe8273a atomic: cast away const on read()
(Only needed to build on lenny, this can go away someday)
2010-05-10 15:53:52 -07:00
Sage Weil
99cdd5251d osd: 'stop' command 2010-05-10 13:40:39 -07:00
Sage Weil
d37c9dc495 mds: fix max_size==1 bug
We should provide a minimum of one stripe unit.
2010-05-07 15:57:37 -07:00
Sage Weil
4d2d5d03b1 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
2010-05-07 15:00:22 -07:00
Sage Weil
6f00c8f71f types: clean up printf format warnings
bah
2010-05-07 14:55:31 -07:00
Sage Weil
0aa2208f32 rgw: clean up dup #define 2010-05-07 14:50:20 -07:00
Sage Weil
edc92490b5 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!
2010-05-07 14:50:20 -07:00
Sage Weil
737b504357 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.
2010-05-07 14:50:20 -07:00
Sage Weil
2741e1833a ceph.spec.in: --without-hadoop --without-debug
to sync up with f13
2010-05-07 14:50:20 -07:00
Yehuda Sadeh
91b9f01aae rbdtool: --list on empty pool returns correct message
and also command doesn't hang. This fixes bug #115.
2010-05-07 13:49:13 -07:00
Sage Weil
404938c46f time: include _ between date and time 2010-05-07 11:58:22 -07:00
Sage Weil
a8579ebd79 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.
2010-05-07 11:58:21 -07:00
Sage Weil
906d3e6740 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.
2010-05-07 11:58:16 -07:00
Sage Weil
76e40e3dfe osd: don't put() null ctx->op (message) 2010-05-07 09:34:48 -07:00
Sage Weil
8580aa596b scripts: fix check_pglog.sh 2010-05-07 09:05:14 -07:00
Sage Weil
fe7a8be13b 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 686192a03e
2010-05-07 08:52:18 -07:00
Sage Weil
a290fc5720 mdsmap: lose angle braces, use tabs 2010-05-06 15:30:14 -07:00
Sage Weil
f0e6af935c osdmap: initially osds don't exist; create them as they boot 2010-05-06 15:27:07 -07:00
Sage Weil
dc24ab0dac 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.
2010-05-06 14:04:35 -07:00
Sage Weil
1959f87496 logger: be more careful calculating variance 2010-05-06 11:30:38 -07:00
Sage Weil
a8fa5286f6 debian: use 'testing' or 'unstable' in place of 'git' in version suffix 2010-05-06 11:30:25 -07:00
Sage Weil
e9cc4a37ae librados: separate callbacks for aio ack/complete and safe 2010-05-06 11:30:25 -07:00
Sage Weil
66350d2b2b 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]
2010-05-06 11:31:05 -07:00
Greg Farnum
642be312ba rgw: admin uses --secret instead of --key (as --key is already taken) 2010-05-05 14:04:30 -07:00
Greg Farnum
ec600db8e5 osd: fix critical cap parsing bugs and documentation. 2010-05-05 14:04:30 -07:00
Sage Weil
33b5e42607 msgr: fix local_pipe peer_type
Need to re-init_local_pipe() after register_entity().
2010-05-04 13:57:39 -07:00
Sage Weil
caa77126d0 Merge branch 'mds_snapids' into unstable 2010-05-04 12:57:32 -07:00
Sage Weil
89d1b5d0ef msgr: existing connection may be OPEN on connection race
Yup!
2010-05-04 12:51:27 -07:00
Sage Weil
9bbb545db7 osd: add CMPXATTR defines 2010-05-04 11:56:15 -07:00
Sage Weil
3d7d7d1f33 osdmaptool: add -h; don't assert on bad filename 2010-05-04 11:33:57 -07:00
Sage Weil
3278466643 ceph.spec.in: run configure
Reported by MarkN in #ceph on irc.oftc.net
2010-05-03 21:06:37 -07:00
Sage Weil
22e9777cf3 Merge remote branch 'origin/msgr_throttle' into unstable 2010-05-03 21:02:47 -07:00
Yehuda Sadeh
f28decef47 poolop: do op immediately, instead of waiting for timeout 2010-05-03 16:57:51 -07:00
Yehuda Sadeh
8a37ac6f17 rbd: update rbd image header format 2010-05-03 16:57:51 -07:00
Yehuda Sadeh
cea221c64a MPoolOp: rearrange parsing, for easier kernel implementation 2010-05-03 16:57:50 -07:00
Sage Weil
1c098c23cd osd: add removed snapid to removed_snaps for unmanaged snaps 2010-05-03 16:41:30 -07:00
Sage Weil
7ec68dcbd7 mds: add removal snap_seq to removed_snaps
This prevents lots of fragmentation in removed_snaps interval set.
2010-05-03 16:41:16 -07:00
Sage Weil
14dd8a9a8a mds: acquire anchor_create locks in caller
We're not allowed to call acquire_locks again once we've completed locking.
Do it in the caller.  Add a helper that will also take an rdlock to ensure
the anchor doesn't go away due to a racing operation.
2010-05-03 15:04:16 -07:00
Sage Weil
11184b90e1 objecter: fix ~Message() calls (use ->put()) 2010-05-03 14:11:52 -07:00
Sage Weil
53a5b4a5e8 mdsmap: cleanup up braces 2010-05-03 14:11:52 -07:00
Sage Weil
632b24f782 mds: fix EXCL rdlock rule
Only the exclusive client should be able to rdlock.  (if anyone!)

No observed problems, caught by inspection.
2010-05-03 14:02:29 -07:00
Sage Weil
409a54f175 mds: fix lock->sync rdlock rule
Observed symptom was touch foo on one node, and missing from ls on another
node.

Since auth rdlock isn't allowed for LOCk, it clearly shouldn't be for
LOCK->SYNC while e.g. wrlock modifications are still being flushed to the
journal and aren't yet applied.
2010-05-03 14:02:29 -07:00
Sage Weil
291c0ab7bd filejournal: create if mkfs and journal is small OR dne. 2010-05-03 10:17:53 -07:00
Sage Weil
b53d0ed61a filejournal: return error instead of asserting 2010-05-02 20:50:58 -07:00
Sage Weil
60095d9daf mon: correctly update up map when taking over for creating|starting mds
Otherwise we can get crap like

in <0>
up <{0=4103}>
failed <>
stopped <>
4300: 192.168.141.103:6800/9446 '0' mds0.0 up:creating seq 2
2010-04-30 16:24:34 -07:00
Sage Weil
3374fbfc0a Merge commit 'v0.20' into unstable
Conflicts:
	src/mon/LogMonitor.cc
	src/mon/MDSMonitor.cc
	src/mon/Monitor.cc
	src/mon/OSDMonitor.cc
	src/mon/PGMonitor.cc
2010-04-30 15:44:54 -07:00
Sage Weil
266d2076b6 debian: fix up debian scripts 2010-04-30 15:11:19 -07:00
Sage Weil
b022a285c6 ceph.spec.in: updates 2010-04-30 14:22:30 -07:00