]> git.apps.os.sepia.ceph.com Git - ceph.git/log
ceph.git
12 years agov0.64 v0.64
Gary Lowell [Wed, 12 Jun 2013 16:54:06 +0000 (09:54 -0700)]
v0.64

12 years agoceph-fuse: older libfuses don't support FUSE_IOCTL_COMPAT
Dan Mick [Wed, 12 Jun 2013 01:33:08 +0000 (18:33 -0700)]
ceph-fuse: older libfuses don't support FUSE_IOCTL_COMPAT

Signed-off-by: Dan Mick <dan.mick@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomon: adjust trim defaults
Sage Weil [Tue, 11 Jun 2013 23:30:41 +0000 (16:30 -0700)]
mon: adjust trim defaults

User testing has shown that smaller values yield better results; see #4917.
Jim's testing has had good results with even more aggressive trimming, but I
would like to do more validation yet before changing defaults.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoclient: set issue_seq (not seq) in cap release
Sage Weil [Sun, 9 Jun 2013 00:38:07 +0000 (17:38 -0700)]
client: set issue_seq (not seq) in cap release

We regularly have been observing a stall where the MDS is blocked waiting
for a cap revocation (Ls, in our case) and never gets a reply.  We finally
tracked down the sequence:

 - mds issues cap seq 1 to client
 - mds does revocation (seq 2)
 - client replies
 - much time goes by
 - client trims inode from cache, sends release with seq == 2
 - mds ignores release because its issue_seq is 1
 - mds later tries to revoke other caps
 - client discards message because it doesn't have the inode in cache

The problem is simply that we are using seq instead of issue_seq in the
cap release message.  Note that the other release call site in
encode_inode_release() is correct.  That one is much more commonly
triggered by short tests, as compared to this case where the inode needs to
get pushed out of the client cache.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoosd: fix con -> session ref change after hb reset
Sage Weil [Tue, 11 Jun 2013 06:21:50 +0000 (23:21 -0700)]
osd: fix con -> session ref change after hb reset

set_priv() expects to be given a reference to own; take one.  This fixes
various crashes after we see a hb connection reset.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agorgw: handle deep uri resources
Yehuda Sadeh [Fri, 7 Jun 2013 04:53:00 +0000 (21:53 -0700)]
rgw: handle deep uri resources

In case of deep uri resources (ones created beyond a single level
of hierarchy, e.g. auth/v1.0) we want to create a new empty
handlers for the path if no handlers exists. E.g., for
auth/v1.0 we need to have a handler for 'auth', otherwise
the default S3 handler will be used, which we don't want.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agorgw: fix get_resource_mgr() to correctly identify resource
Yehuda Sadeh [Fri, 7 Jun 2013 04:47:21 +0000 (21:47 -0700)]
rgw: fix get_resource_mgr() to correctly identify resource

Fixes: #5262
The original test was not comparing the correct string, ended up
with the effect of just checking the substring of the uri to match
the resource.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agorgw: add 'cors' to the list of sub-resources
Yehuda Sadeh [Thu, 6 Jun 2013 18:22:38 +0000 (11:22 -0700)]
rgw: add 'cors' to the list of sub-resources

Fixes: #5261
Backport: cuttlefish
Add 'cors' to the list of sub-resources, otherwise auth signing
is wrong.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoosd: do not include logbl in scrub map
Sage Weil [Thu, 6 Jun 2013 23:35:54 +0000 (16:35 -0700)]
osd: do not include logbl in scrub map

This is a potentially use object/file, usually prefixed by a zeroed region
on disk, that is not used by scrub at all.  It dates back to
f51348dc8bdd5071b7baaf3f0e4d2e0496618f08 (2008) and the original version of
scrub.

This *might* fix #4179.  It is not a leak per se, but I observed 1GB
scrub messages going over the write.  Maybe the allocations are causing
fragmentation, or the sub_op queues are growing.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agomon: fix preforker exit behavior behavior
Sage Weil [Sat, 1 Jun 2013 04:23:45 +0000 (21:23 -0700)]
mon: fix preforker exit behavior behavior

In 3c5706163b72245768958155d767abf561e6d96d we made exit() not actually
exit so that the leak checking would behave for a non-forking case.
That is only needed for the normal exit case; every other case expects
exit() to actually terminate and not continue execution.

Instead, make a signal_exit() method that signals the parent (if any)
and then lets you return.  exit() goes back to it's usual behavior,
fixing the many other calls in main().

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agoMerge remote-tracking branch 'gh/next-leaks' into next
Sage Weil [Wed, 5 Jun 2013 23:09:31 +0000 (16:09 -0700)]
Merge remote-tracking branch 'gh/next-leaks' into next

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agomon: fix leak of loopback Connection
Sage Weil [Wed, 5 Jun 2013 15:53:38 +0000 (08:53 -0700)]
mon: fix leak of loopback Connection

The accessor returns a reference.  Instead of taking+dropping it each
time, take one ref in Monitor ctor and release it in the dtor.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomessages/MMonHealth: remove unused flag field
Sage Weil [Wed, 5 Jun 2013 15:42:25 +0000 (08:42 -0700)]
messages/MMonHealth: remove unused flag field

This was initialized in (one of) the ctor(s), but not encoded/decoded,
and not used.  Remove it.  This makes valgrind a happy.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomessages/MMonProbe: fix uninitialized variables
Sage Weil [Wed, 5 Jun 2013 15:34:20 +0000 (08:34 -0700)]
messages/MMonProbe: fix uninitialized variables

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoRevert "mds: allow purging "dirty parent" stray inode"
Sage Weil [Tue, 4 Jun 2013 18:07:58 +0000 (11:07 -0700)]
Revert "mds: allow purging "dirty parent" stray inode"

This reverts commit b8f1cb978944a616b69150fdbb3a6b978d75b1dc.

12 years agomds: initialize rejoins_pending
Sage Weil [Tue, 4 Jun 2013 18:07:33 +0000 (11:07 -0700)]
mds: initialize rejoins_pending

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoRevert "mds: initialize some member variables of MDCache"
Sage Weil [Tue, 4 Jun 2013 18:05:52 +0000 (11:05 -0700)]
Revert "mds: initialize some member variables of MDCache"

This reverts commit 2d655bde8de9ad255d63718768558399cacd7068.

12 years agoos/LevelDBStore: only remove logger if non-null
Sage Weil [Tue, 4 Jun 2013 17:42:13 +0000 (10:42 -0700)]
os/LevelDBStore: only remove logger if non-null

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agotest_librbd: use correct type for varargs snap test
Josh Durgin [Mon, 3 Jun 2013 22:57:23 +0000 (15:57 -0700)]
test_librbd: use correct type for varargs snap test

uint64_t is passed in, but int was extracted. This fails on 32-bit builds.

Fixes: #5220
Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
(cherry picked from commit 17029b270dee386e12e5f42c2494a5feffd49b08)

12 years agomds: allow purging "dirty parent" stray inode
Yan, Zheng [Tue, 4 Jun 2013 03:19:26 +0000 (11:19 +0800)]
mds: allow purging "dirty parent" stray inode

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agomds: initialize some member variables of MDCache
Yan, Zheng [Tue, 4 Jun 2013 03:19:25 +0000 (11:19 +0800)]
mds: initialize some member variables of MDCache

I added some member variables to class MDCache, but forget to
initialize them.

Fixes: #5236
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
12 years agoceph: Add missing usage "ceph osd blacklist ls"
David Zafman [Fri, 31 May 2013 23:30:11 +0000 (16:30 -0700)]
ceph: Add missing usage "ceph osd blacklist ls"

Signed-off-by: David Zafman <david.zafman@inktank.com>
12 years agoceph-fuse: create finisher threads after fork()
Sage Weil [Mon, 3 Jun 2013 04:21:51 +0000 (21:21 -0700)]
ceph-fuse: create finisher threads after fork()

The ObjectCacher and MonClient classes both instantiate Finisher
threads.  We need to make sure they are created *after* the fork(2)
or else the process will fail to join() them on shutdown, and the
threads will not exist while fuse is doing useful work.

Put CephFuse on the heap and move all this initalization into the child
block, and make sure errors are passed back to the parent.

Fix-proposed-by: Alexandre Marangone <alexandre.maragone@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agovstart.sh: make client logs unique
Sage Weil [Mon, 3 Jun 2013 03:59:03 +0000 (20:59 -0700)]
vstart.sh: make client logs unique

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoos/LevelDBStore: fix merge loop
Sage Weil [Mon, 3 Jun 2013 01:07:34 +0000 (18:07 -0700)]
os/LevelDBStore: fix merge loop

We were double-incrementing p, both in the for statement and in the
body.  While we are here, drop the unnecessary else's.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: fix uninitialized fields in MMonHealth
Sage Weil [Sat, 1 Jun 2013 04:16:54 +0000 (21:16 -0700)]
mon: fix uninitialized fields in MMonHealth

Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: start lease timer from peon_init()
Sage Weil [Sat, 1 Jun 2013 00:09:19 +0000 (17:09 -0700)]
mon: start lease timer from peon_init()

In the scenario:

 - leader wins, peons lose
 - leader sees it is too far behind on paxos and bootstraps
 - leader tries to sync with someone, waits for a quorum of the others
 - peons sit around forever waiting

The problem is that they never time out because paxos never issues a lease,
which is the normal timeout that lets them detect a leader failure.

Avoid this by starting the lease timeout as soon as we lose the election.
The timeout callback just does a bootstrap and does not rely on any other
state.

I see one possible danger here: there may be some "normal" cases where the
leader takes a long time to issue its first lease that we currently
tolerate, but won't with this new check in place.  I hope that raising
the lease interval/timeout or reducing the allowed paxos drift will make
that a non-issue.  If it is problematic, we will need a separate explicit
"i am alive" from the leader while it is getting ready to issue the lease
to prevent a live-lock.

Backport: cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agomon: discard messages from disconnected clients
Sage Weil [Fri, 31 May 2013 05:52:21 +0000 (22:52 -0700)]
mon: discard messages from disconnected clients

If the client is not connected, discard the message.  They will
reconnect and resend anyway, so there is no point in processing it
twice (now and later).

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agomon/Paxos: adjust trimming defaults up; rename options
Sage Weil [Thu, 30 May 2013 22:59:49 +0000 (15:59 -0700)]
mon/Paxos: adjust trimming defaults up; rename options

- trim more at a time (by an order of magnitude)
- rename fields to paxos_trim_{min,max}; only trim when there are min items
  that are trimmable, and trim at most max items at a time.
- adjust the paxos_service_trim_{min,max} values up by a factor of 2.

Since we are compacting every time we trim, adjusting these up mean less
frequent compactions and less overall work for the monitor.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agoMerge branch 'wip-osd-leaks' into next
Sage Weil [Fri, 31 May 2013 21:48:51 +0000 (14:48 -0700)]
Merge branch 'wip-osd-leaks' into next

Reviewed-by: David Zafman <david.zafman@inktank.com>
12 years agoosd: fix msg leak on shutdown in ms_dispatch
Sage Weil [Fri, 31 May 2013 21:46:54 +0000 (14:46 -0700)]
osd: fix msg leak on shutdown in ms_dispatch

Reported-by: David Zafman <david.zafman@inktank.com>
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: reset heartbeat peers during shutdown
Sage Weil [Fri, 31 May 2013 05:12:04 +0000 (22:12 -0700)]
osd: reset heartbeat peers during shutdown

This fixes a leak of the Connection's and related structures.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonClient: fix leak of MMonGetVersionReply
Sage Weil [Fri, 31 May 2013 05:04:48 +0000 (22:04 -0700)]
mon/MonClient: fix leak of MMonGetVersionReply

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: fix leak of MOSDMarkMeDown
Sage Weil [Fri, 31 May 2013 05:02:07 +0000 (22:02 -0700)]
osd: fix leak of MOSDMarkMeDown

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #338 from alram/next
Sage Weil [Fri, 31 May 2013 19:47:24 +0000 (12:47 -0700)]
Merge pull request #338 from alram/next

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoupstart: handle upper case in cluster name and id 338/head
Alexandre Marangone [Fri, 31 May 2013 19:33:11 +0000 (12:33 -0700)]
upstart: handle upper case in cluster name and id

Signed-off-by: Alexandre Marangone <alexandre.marangone@inktank.com>
12 years agorgw: only append prefetched data if reading from head
Yehuda Sadeh [Thu, 30 May 2013 19:58:11 +0000 (12:58 -0700)]
rgw: only append prefetched data if reading from head

Fixes: #5209
Backport: bobtail, cuttlefish
If the head object wrongfully contains data, but according to the
manifest we don't read from the head, we shouldn't copy the prefetched
data. Also fix the length calculation for that data.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agorgw: don't copy object idtag when copying object
Yehuda Sadeh [Thu, 30 May 2013 16:34:21 +0000 (09:34 -0700)]
rgw: don't copy object idtag when copying object

Fixes: #5204
When copying object we ended up also copying the original
object idtag which overrode the newly generated one. When
refcount put is called with the wrong idtag the count
does't go down.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
12 years agomon: destroy MonitorDBStore before g_ceph_context
Sage Weil [Fri, 31 May 2013 04:43:50 +0000 (21:43 -0700)]
mon: destroy MonitorDBStore before g_ceph_context

Put it on the heap so that we can destroy it before the g_ceph_context
cct that it references.  This fixes a crash like

*** Caught signal (Segmentation fault) **
in thread 4034a80
ceph version 0.63-204-gcf9aa7a (cf9aa7a0037e56eada8b3c1bb59d59d0bfe7bba5)
1: ceph-mon() [0x59932a]
2: (()+0xfcb0) [0x4e41cb0]
3: (Mutex::Lock(bool)+0x1b) [0x6235bb]
4: (PerfCountersCollection::remove(PerfCounters*)+0x27) [0x6a0877]
5: (LevelDBStore::~LevelDBStore()+0x1b) [0x582b2b]
6: (LevelDBStore::~LevelDBStore()+0x9) [0x582da9]
7: (main()+0x1386) [0x48db16]
8: (__libc_start_main()+0xed) [0x658076d]
9: ceph-mon() [0x4909ad]

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodebian: guard upstart {start,stop} with -x check
Sage Weil [Fri, 31 May 2013 00:23:36 +0000 (17:23 -0700)]
debian: guard upstart {start,stop} with -x check

Sigh.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge branch 'wip-deb-removal' into next
Sage Weil [Fri, 31 May 2013 00:17:43 +0000 (17:17 -0700)]
Merge branch 'wip-deb-removal' into next

Tested by Tamil, Gary.

12 years agoMerge pull request #334 from ceph/wip-mon
Sage Weil [Thu, 30 May 2013 23:27:02 +0000 (16:27 -0700)]
Merge pull request #334 from ceph/wip-mon

Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agodebian: add radosgw.postinst
Sage Weil [Thu, 30 May 2013 23:22:54 +0000 (16:22 -0700)]
debian: add radosgw.postinst

Start radosgw-all job.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodebian: invoke-rc.d does not work with upstart jobs
Sage Weil [Thu, 30 May 2013 23:22:40 +0000 (16:22 -0700)]
debian: invoke-rc.d does not work with upstart jobs

Broken by 19c5ac37ef87aeb3d3c30aa35cd61b6f3a8414bf.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agofix test users of LevelDBStore
Sage Weil [Thu, 30 May 2013 22:53:35 +0000 (15:53 -0700)]
fix test users of LevelDBStore

Need to pass in cct.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #335 from ceph/wip-5176
Sage Weil [Thu, 30 May 2013 22:04:21 +0000 (15:04 -0700)]
Merge pull request #335 from ceph/wip-5176

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoos/LevelDBStore: add perfcounters 335/head
Sage Weil [Thu, 30 May 2013 21:57:42 +0000 (14:57 -0700)]
os/LevelDBStore: add perfcounters

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: make compaction bounds overlap
Sage Weil [Thu, 30 May 2013 21:36:41 +0000 (14:36 -0700)]
mon: make compaction bounds overlap

When we trim items N to M, compact over range (N-1) to M so that the
items in the queue will share bounds and get merged.  There is no harm in
compacting over a larger range here when the lower bound is a key that
doesn't exist anyway.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoos/LevelDBStore: merge adjacent ranges in compactionqueue
Sage Weil [Thu, 30 May 2013 21:26:42 +0000 (14:26 -0700)]
os/LevelDBStore: merge adjacent ranges in compactionqueue

If we get behind and multiple adjacent ranges end up in the queue, merge
them so that we fire off compaction on larger ranges.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #333 from ceph/wip-5203
Sage Weil [Thu, 30 May 2013 18:42:45 +0000 (11:42 -0700)]
Merge pull request #333 from ceph/wip-5203

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agomon: fix leak of health_monitor and config_key_service 334/head
Sage Weil [Thu, 30 May 2013 18:07:06 +0000 (11:07 -0700)]
mon: fix leak of health_monitor and config_key_service

Switch to using regular pointers here.  The lifecycle of these services is
very simple such that refcounting is overkill.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: return instead of exit(3) via preforker
Sage Weil [Thu, 30 May 2013 00:54:17 +0000 (17:54 -0700)]
mon: return instead of exit(3) via preforker

This lets us run all the locally-scoped dtors so that leak checking will
work.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: Monitor: backup monmap using all ceph features instead of quorum's 333/head
Joao Eduardo Luis [Thu, 30 May 2013 17:17:28 +0000 (18:17 +0100)]
mon: Monitor: backup monmap using all ceph features instead of quorum's

When a monitor is freshly created and for some reason its initial sync is
aborted, it will end up with an incorrect backup monmap.  This monmap is
incorrect in the sense that it will not contain the monitor's names as
it will expect on the next run.

This results from us being using the quorum features to encode the monmap
when backing it up, instead of CEPH_FEATURES_ALL.

Fixes: #5203
Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
12 years agodebian: stop radosgw daemons on package removal
Sage Weil [Thu, 30 May 2013 15:53:22 +0000 (08:53 -0700)]
debian: stop radosgw daemons on package removal

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodebian: stop sysvinit ceph-mds daemons
Sage Weil [Thu, 30 May 2013 15:53:05 +0000 (08:53 -0700)]
debian: stop sysvinit ceph-mds daemons

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agodebian: only stop daemons on removea; not upgrade
Sage Weil [Thu, 30 May 2013 15:51:16 +0000 (08:51 -0700)]
debian: only stop daemons on removea; not upgrade

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: initialize new_state field when we use it
Sage Weil [Wed, 29 May 2013 23:50:04 +0000 (16:50 -0700)]
osd: initialize new_state field when we use it

If we use operator[] on a new int field its value is undefined; avoid
reading it or using |= et al until we initialize it.

Fixes: #4967
Backport: cuttlefish, bobtail
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: David Zafman <david.zafman@inktank.com>
12 years agomds: stay in SCAN state in file_eval
Sage Weil [Tue, 28 May 2013 17:51:11 +0000 (10:51 -0700)]
mds: stay in SCAN state in file_eval

If we are in the SCAN state, stay there until the recovery finishes.  Do
not jump to another state from file_eval().

Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit 0071b8e75bd3f5a09cc46e2225a018f6d1ef0680)

12 years agoosd: do not assume head obc object exists when getting snapdir
Sage Weil [Wed, 29 May 2013 16:49:11 +0000 (09:49 -0700)]
osd: do not assume head obc object exists when getting snapdir

For a list-snaps operation on the snapdir, do not assume that the obc for the
head means the object exists.  This fixes a race between a head deletion and
a list-snaps that wrongly returns ENOENT, triggered by the DiffItersateStress
test when thrashing OSDs.

Fixes: #5183
Backport: cuttlefish
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agomon: compact trimmed range, not entire prefix
Sage Weil [Wed, 29 May 2013 15:40:32 +0000 (08:40 -0700)]
mon: compact trimmed range, not entire prefix

This will reduce the work that leveldb is asked to do by only triggering
compaction of the keys that were just trimmed.

We ma want to further reduce the work by compacting less frequently, but
this is at least a step in that direction.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon/MonitorDBStore: allow compaction of ranges
Sage Weil [Wed, 29 May 2013 15:35:44 +0000 (08:35 -0700)]
mon/MonitorDBStore: allow compaction of ranges

Allow a transaction to describe the compaction of a range of keys.  Do this
in a backward compatible say, such that older code will interpret the
compaction of a prefix + range as compaction of the entire prefix.  This
allows us to avoid introducing any new feature bits.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoos/LevelDBStore: allow compaction of key ranges
Sage Weil [Wed, 29 May 2013 15:34:13 +0000 (08:34 -0700)]
os/LevelDBStore: allow compaction of key ranges

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agomon: disable tdump by default
Sage Weil [Wed, 29 May 2013 05:13:11 +0000 (22:13 -0700)]
mon: disable tdump by default

Grr.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge remote-tracking branch 'gh/last'
Sage Weil [Wed, 29 May 2013 05:10:21 +0000 (22:10 -0700)]
Merge remote-tracking branch 'gh/last'

12 years agoMerge branch 'wip-5172'
Sage Weil [Wed, 29 May 2013 03:44:48 +0000 (20:44 -0700)]
Merge branch 'wip-5172'

Reviewed-by: Samuel Just <sam.just@inktank.com>
12 years agoos/LevelDBStore: do compact_prefix() work asynchronously
Sage Weil [Tue, 28 May 2013 23:35:55 +0000 (16:35 -0700)]
os/LevelDBStore: do compact_prefix() work asynchronously

We generally do not want to block while compacting a range of leveldb.
Push the blocking+waiting off to a separate thread.  (leveldb will do what
it can to avoid blocking internally; no reason for us to wait explicitly.)

This addresses part of #5176.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: fix note_down_osd
Sage Weil [Wed, 29 May 2013 03:38:43 +0000 (20:38 -0700)]
osd: fix note_down_osd

Fix bug introduced in 27381c0c6259ac89f5f9c592b4bfb585937a1cfc.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosd: fix hb con failure handler
Sage Weil [Wed, 29 May 2013 03:39:30 +0000 (20:39 -0700)]
osd: fix hb con failure handler

Fix a few bugs introduced by 27381c0c6259ac89f5f9c592b4bfb585937a1cfc:

- check against both front and back cons; either one may have failed.
- close *both* front and back before reopening either.  this is
  overkill, but slightly simpler code.
- fix leak of con when marking down
- handle race against osdmap update and note_down_osd

Fixes: #5172
Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #319 from dalgaaf/wip-da-pylint-3
Sage Weil [Wed, 29 May 2013 02:52:41 +0000 (19:52 -0700)]
Merge pull request #319 from dalgaaf/wip-da-pylint-3

Fix some smaller Python issues

12 years agoMerge pull request #326 from dalgaaf/wip-da-CID-727978
Sage Weil [Tue, 28 May 2013 22:48:11 +0000 (15:48 -0700)]
Merge pull request #326 from dalgaaf/wip-da-CID-727978

kv_flat_btree_async.cc: fix AioCompletion resource leak

12 years agov0.63 v0.63
Gary Lowell [Tue, 28 May 2013 20:58:22 +0000 (13:58 -0700)]
v0.63

12 years agoHashIndex: sync top directory during start_split,merge,col_split
Samuel Just [Tue, 28 May 2013 18:10:05 +0000 (11:10 -0700)]
HashIndex: sync top directory during start_split,merge,col_split

Otherwise, the links might be ordered after the in progress
operation tag write.  We need the in progress operation tag to
correctly recover from an interrupted merge, split, or col_split.

Fixes: #5180
Backport: cuttlefish, bobtail
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #325 from dalgaaf/wip-da-CID-727980
Sage Weil [Tue, 28 May 2013 17:27:56 +0000 (10:27 -0700)]
Merge pull request #325 from dalgaaf/wip-da-CID-727980

kv_flat_btree_async.cc: fix AioCompletion resource leak

12 years agoMerge pull request #324 from dalgaaf/wip-da-CID-727979
Sage Weil [Tue, 28 May 2013 17:27:25 +0000 (10:27 -0700)]
Merge pull request #324 from dalgaaf/wip-da-CID-727979

kv_flat_btree_async.cc: fix AioCompletion resource leak

12 years agoosd/OSDMap: fix Incremental dump
Sage Weil [Tue, 28 May 2013 16:16:17 +0000 (09:16 -0700)]
osd/OSDMap: fix Incremental dump

The front hb addr entry may not be present.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #322 from guilhem/patch-1
Sage Weil [Tue, 28 May 2013 15:43:10 +0000 (08:43 -0700)]
Merge pull request #322 from guilhem/patch-1

Reviewed-by: Sage Weil <sage@inktank.com>
12 years agokv_flat_btree_async.cc: fix AioCompletion resource leak 326/head
Danny Al-Gaaf [Tue, 28 May 2013 10:43:12 +0000 (12:43 +0200)]
kv_flat_btree_async.cc: fix AioCompletion resource leak

Call AioCompletion::release() if the completion is no longer needed.

CID 727978 (#1-2 of 2): Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "obj_aioc" going out of scope leaks the
  storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agokv_flat_btree_async.cc: fix AioCompletion resource leak 324/head
Danny Al-Gaaf [Tue, 28 May 2013 10:38:57 +0000 (12:38 +0200)]
kv_flat_btree_async.cc: fix AioCompletion resource leak

Call AioCompletion::release() if the completion is no longer needed.

CID 727979 (#1-2 of 2): Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "a" going out of scope leaks the storage
  it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agokv_flat_btree_async.cc: fix AioCompletion resource leak 325/head
Danny Al-Gaaf [Tue, 28 May 2013 10:27:37 +0000 (12:27 +0200)]
kv_flat_btree_async.cc: fix AioCompletion resource leak

Call AioCompletion::release() if the completion is no longer
needed.

CID 727980 (#1-4 of 4): Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "aioc" going out of scope leaks
  the storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoRemove mon socket in post-stop 322/head
Guilhem Lettron [Mon, 27 May 2013 10:41:53 +0000 (12:41 +0200)]
Remove mon socket in post-stop

If ceph-mon segfault, socket file isn't removed.

By adding a remove in post-stop, upstart clean run directory properly.

Signed-off-by: Guilhem Lettron <guilhem@lettron.fr>
12 years agoPendingReleaseNotes: notes about enabling HASHPSPOOL
Sage Weil [Tue, 28 May 2013 04:16:46 +0000 (21:16 -0700)]
PendingReleaseNotes: notes about enabling HASHPSPOOL

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoosdmaptool: fix cli tests
Sage Weil [Tue, 28 May 2013 04:12:29 +0000 (21:12 -0700)]
osdmaptool: fix cli tests

Now that the default pool flags have changed.

Signed-off-by: Sage Weil <sage@inktank.com>
12 years agoMerge pull request #321 from dalgaaf/wip-da-CID-727981
Sage Weil [Mon, 27 May 2013 20:55:54 +0000 (13:55 -0700)]
Merge pull request #321 from dalgaaf/wip-da-CID-727981

kv_flat_btree_async.cc: fix AioCompletion resource leak

12 years agoMerge pull request #320 from dalgaaf/wip-da-CID-727983
Sage Weil [Mon, 27 May 2013 20:55:24 +0000 (13:55 -0700)]
Merge pull request #320 from dalgaaf/wip-da-CID-727983

kv_flat_btree_async.cc: fix resource leak

12 years agodoc: Updated rgw.conf example.
John Wilkins [Sat, 25 May 2013 22:13:01 +0000 (15:13 -0700)]
doc: Updated rgw.conf example.

fixes: #4608

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Updated RGW Quickstart.
John Wilkins [Sat, 25 May 2013 22:11:49 +0000 (15:11 -0700)]
doc: Updated RGW Quickstart.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Updated index for newer terms.
John Wilkins [Sat, 25 May 2013 22:11:06 +0000 (15:11 -0700)]
doc: Updated index for newer terms.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agopg_pool_t: enable FLAG_HASHPSPOOL by default
Samuel Just [Fri, 24 May 2013 23:20:38 +0000 (16:20 -0700)]
pg_pool_t: enable FLAG_HASHPSPOOL by default

Fixes: #5160
Signed-off-by: Samuel Just <sam.just@inktank.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agokv_flat_btree_async.cc: fix AioCompletion resource leak 321/head
Danny Al-Gaaf [Fri, 24 May 2013 12:47:49 +0000 (14:47 +0200)]
kv_flat_btree_async.cc: fix AioCompletion resource leak

Call AioCompletion::release() if the completion is no longer
needed to free the resources.

CID 727981 (#3 of 3): Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "top_aioc" going out of scope leaks the
  storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agokv_flat_btree_async.cc: fix resource leak 320/head
Danny Al-Gaaf [Fri, 24 May 2013 12:29:14 +0000 (14:29 +0200)]
kv_flat_btree_async.cc: fix resource leak

Call AioCompletion::release() if the completion is no longer
needed to free the resources.

CID 727983 : Resource leak (RESOURCE_LEAK)
  leaked_storage: Variable "aioc" going out of scope leaks the
  storage it points to.

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-disk: remove unnecessary semicolons 319/head
Danny Al-Gaaf [Fri, 24 May 2013 10:46:15 +0000 (12:46 +0200)]
ceph-disk: remove unnecessary semicolons

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-disk: cast output of _check_output()
Danny Al-Gaaf [Fri, 24 May 2013 10:41:11 +0000 (12:41 +0200)]
ceph-disk: cast output of _check_output()

Cast output of _check_output() to str() to be able to use
str.split().

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-disk: fix undefined variable
Danny Al-Gaaf [Fri, 24 May 2013 10:33:16 +0000 (12:33 +0200)]
ceph-disk: fix undefined variable

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoceph-disk: add missing spaces around operator
Danny Al-Gaaf [Fri, 24 May 2013 10:29:07 +0000 (12:29 +0200)]
ceph-disk: add missing spaces around operator

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
12 years agoMerge branch 'wip_scrub_tphandle' into next
Samuel Just [Fri, 24 May 2013 03:08:11 +0000 (20:08 -0700)]
Merge branch 'wip_scrub_tphandle' into next

Fixes: #5159
Reviewed-by: Sage Weil <sage@inktank.com>
12 years agoPG: ping tphandle during omap loop as well
Samuel Just [Fri, 24 May 2013 00:40:44 +0000 (17:40 -0700)]
PG: ping tphandle during omap loop as well

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoPG: reset timeout in _scan_list for each object, read chunk
Samuel Just [Thu, 23 May 2013 22:24:39 +0000 (15:24 -0700)]
PG: reset timeout in _scan_list for each object, read chunk

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agoOSD,PG: pass tphandle down to _scan_list
Samuel Just [Thu, 23 May 2013 22:23:05 +0000 (15:23 -0700)]
OSD,PG: pass tphandle down to _scan_list

Signed-off-by: Samuel Just <sam.just@inktank.com>
12 years agodoc: Updated Ceph FS Quick Start.
John Wilkins [Fri, 24 May 2013 00:02:17 +0000 (17:02 -0700)]
doc: Updated Ceph FS Quick Start.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>
12 years agodoc: Added troubleshooting to Ceph FS index.
John Wilkins [Fri, 24 May 2013 00:01:51 +0000 (17:01 -0700)]
doc: Added troubleshooting to Ceph FS index.

Signed-off-by: John Wilkins <john.wilkins@inktank.com>