msg/simple: do not stop_and_wait on mark_down

We originally blocked in mark_down for fast dispatch threads
to complete to avoid various races in the code.  Most of these
were in the OSD itself, where we were not prepared to get
messges on connections that had no attached session.  Since
then, the OSD checks have been cleaned up to handle this.
There were other races we were worried about too, but the
details have been lost in the depths of time.

Instead, take the other route: make mark_down never block on
dispatch.  This lets us remove the special case that
was added in order to cope with fast dispatch calling
mark_down on itself.

Now, the only stop_and_wait() user is the shutdown sequence.

Signed-off-by: Sage Weil <sage@redhat.com>
Revert "Objecter: disable fast dispatch of CEPH_MSG_OSD_OPREPLY messages"

This reverts commit 3f23709c474292f9239f77a6cce26309fc86ce29.

We have changed mark_down() behavior so that it no longer blocks on
fast dispatch.  This makes the objecter reply handler safe again.

Fixes: #9598
Signed-off-by: Sage Weil <sage@redhat.com>
init-radosgw.sysv: set ulimit -n before starting daemon

If we do the ulimit inside the daemon command we will have already
dropped privs and will fail.

Fixes: #9587
Backport: giant, firefly
Signed-off-by: Sage Weil <sage@redhat.com>
remove ceph_dupstore

This is broken and useless.

Signed-off-by: Sage Weil <sage@redhat.com>
osd, filestore: move convertfs into FileStore

There is no reason for this level of detail to be exposed to the OSD.

There is one significant change here: we are not touching the SnapMapper
in the FileStore collection removal.  This is, most likely, fixing a bug.

Signed-off-by: Sage Weil <sage@redhat.com>
osd, filestore: mount in upgrade() caller

Signed-off-by: Sage Weil <sage@redhat.com>
osd, filestore: move automatic upgrade into mount()

Signed-off-by: Sage Weil <sage@redhat.com>
os/ObjectStore: remove version calls from interface

No reason to expose these.

Signed-off-by: Sage Weil <sage@redhat.com>
os/FileStore: remove old collection conversion code

This relies on collection_add and _remove, which we want to kill.  Make
people upgrade to firefly first.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: s/collection_remove/remove/

The implementations are identical.

Signed-off-by: Sage Weil <sage@redhat.com>
ceph_test_filestore_idempotent_sequence: use collection_move

Signed-off-by: Sage Weil <sage@redhat.com>
ceph_test_objectstore: s/collection_remove/remove/

They are identical.

Signed-off-by: Sage Weil <sage@redhat.com>
os/ObjectStore: remove collection_{add,remove}

Move the add+remove a move normally translates to directly into
that method.

Signed-off-by: Sage Weil <sage@redhat.com>
os/FileStore: assume COLL_ADD is always followed by COLL_REMOVE

In practice, it is.  Turn this into a "single" atomic op.

Signed-off-by: Sage Weil <sage@redhat.com>
ceph_test_filestore_idempotent_sequence: drop collection_rename

Not used.

Signed-off-by: Sage Weil <sage@redhat.com>
osd: remove pgs with "remove" flag on startup

Just like we do removal or temp collections.

Signed-off-by: Sage Weil <sage@redhat.com>
ceph_filestore_dump: use "remove" marker instead of collection rename

Instead of renaming the collection to FORREMOVAL, just mark it with an
attr.

Signed-off-by: Sage Weil <sage@redhat.com>
remove collection_rename

No more users!  Complicated semantics!

Signed-off-by: Sage Weil <sage@redhat.com>
doc: improve incomplete state documentation

Signed-off-by: Samuel Just <sam.just@inktank.com>
doc: add documentation for undersized

Signed-off-by: Samuel Just <sam.just@inktank.com>