memstore: fix touch double-allocation

Reported-by: Allen Samuels <allen.samuels@sandisk.com>
Signed-off-by: Sage Weil <sage@inktank.com>
rgw: multi object delete should be idempotent

Fixes: #7346
When doing a multi object delete, if an object does not exist then we
should return a success code for that object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
Merge pull request #1211 from ceph/wip-memstore

memstore: fix touch double-allocation

Reviewed-by: Samuel Just <sam.just@inktank.com>
mon/MonCap: handle any whitespace (not just space)

Backport: emperor, dumpling
Reported-by: Dmitry Borodaenko <dborodaenko@mirantis.com>
Signed-off-by: Sage Weil <sage@inktank.com>
osd/OSDCap: handle any whitespace (not just space)

Backport: emperor, dumpling
Signed-off-by: Sage Weil <sage@inktank.com>
Merge pull request #1217 from ceph/wip-7346

rgw: multi object delete should be idempotent

Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Merge pull request #1225 from ceph/wip-moncap

osd/OSDCap: mon/MonCap: handle any whitespace (not just space)
Reviewed-by: Greg Farnum <greg@inktank.com>
mon: only learn peer addresses when monmap == 0

It is only safe to dynamically update the address for a peer mon in our
monmap if we are in the midst of the initial quorum formation (i.e.,
monmap.epoch == 0).  If it is a later epoch, we have formed our initial
quorum and any and all monmap changes need to be agreed upon by the quorum
and committed via paxos.

Fixes: #7212
Signed-off-by: Sage Weil <sage@inktank.com>
mon: tell MonmapMonitor first about winning an election

It is important in the bootstrap case that the very first paxos round
also codify the contents of the monmap itself in order to avoid any manner
of confusing scenarios where subsequent elections are called and people
try to recover and modify paxos without agreeing on who the quorum
participants are.

Signed-off-by: Sage Weil <sage@inktank.com>
mon/Elector: bootstrap on timeout

Currently if an election times out we call a new
election.  If we have never joined a quorum, bootstrap
instead. This is heavier weight, but captures the case
where, during bootstrap:

 - a and b have learned each others' addresses
 - everybody calls an election
 - a and b form a quorum
 - c loops trying to call an election, but is ignored
   because a and b don't see its address in the monmap

See logs:
  ubuntu@teuthology:/var/lib/teuthworker/archive/sage-2014-02-14_13:50:04-ceph-deploy-wip-7212-sage-b-testing-basic-plana/83194

Signed-off-by: Sage Weil <sage@inktank.com>
Merge remote-tracking branch 'gh/wip-7212-sage-b'

We should carefully backport some or all of this.

Backport: emperor, dumpling
Reviewed-by: Joao Eduardo Luis <joao.luis@inktank.com>