ReplicatedPG::start_flush: send delete even if there are no snaps

Even if all snaps for the clone have been removed, we still have to
send the delete to ensure that when the object is recreated the
new snaps aren't included in the wrong clone.

Signed-off-by: Samuel Just <sam.just@inktank.com>
osd: include osd_objectstore in metadata reported to mon

Provide visibility into the OSD backend.

Signed-off-by: Sage Weil <sage@inktank.com>
mds: journal EImportFinish after adjusting subtree auth

Submitting EImportFinish may journal an extra ESubtreeMap as side
effect. The ESubtreeMap should reflects subtree state after import
is finished.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: include all of directory inode's replicas in rmdir witnesses

If a MDS crashed after journaling a rmdir operation, but before sending
MDentryUnlink messages. Survivor MDS may have incorrect linkage for the
removed directory. Later when the MDS recovers, the incorrect linkage
can cause survivor MDS crash.

The fix is include all of directory inode's replicas in rmdir witnesses
list. When receiving a rmdir slave request, MDS who has no auth subtree
in the directory only need to update its cache and send reply (doesn't
need to journal the slave request).

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: skip journaling slave rename when possible

Rename operation can affect three dentries and two inodes. For MDS
who receives rename slave request, but isn't authority of any of
these dentries/inodes and doesn't have any auth subtree under these
dentries/inodes, journaling slave rename can be skipped.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: allow early reply when there is no journaled slave update

Early reply should be Ok when there were slave requests, but none
of them modifies any object.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: journal rename source inode when rollback rename

rename changes the source inode's ctime. rollback changes ctime back
to its original value.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: try trimming exported objects

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: drop locks after removing import/export state

dropping locks can dispatch requests, which may export the same
dirfrag again.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: fix remote auth pin race

When removing auth unpinned objects from mdr->remote_auth_pins,
Server::handle_slave_auth_pin() checks object's authority to decide
if the object was auth pinned by a given MDS. This method isn't
reliable because when object isn't auth pinned, its authority may
change.

The fix is remember from which MDS an objects was auth pinned.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: queue waiters in MDCache::force_dir_fragment()

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
erasure-code: fix URL in developer notes

add missing ..

http://tracker.ceph.com/issues/8388 Fixes: #8388

Reported-by: koleosfuscus <koleosfuscus@yahoo.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
doc: fix link to FAQ
The location of the ceph wiki FAQ has changed.
Now, the link from ceph documentation matches the current FAQ location

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
doc: Clean up pre-flight documentation
Mention recent Ceph releases.
Move important message about sudo and ceph-deploy closer to the use of
ceph-deploy.
Mention files created by ceph-deploy comment
Separate apt-get from yum command

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
HashIndex: in cleanup, interpret missing dir as completed merge

If we stop between unlinking the empty subdir and removing the root
merge marker, we get ENOENT on the get_info.  That's actually fine.

Backport: firefly
Fixes: 8332
Signed-off-by: Samuel Just <sam.just@inktank.com>
ReplicatedPG::start_flush: fix clone deletion case

dsnapc.snaps will be non-empty most of the time if there
have been snaps before prev_snapc.  What we really want to
know is whether there are any snaps between oi.snaps.back()
and prev_snapc.

Fixes: 8334
Backport: firefly
Signed-off-by: Samuel Just <sam.just@inktank.com>
doc: mention admin-node in common documentation

This change uses admin-node in the quick-common.rst file, including
the graph. This name is already used in
quick-ceph-deploy.rst.

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
doc: quick-ceph-deploy cleanup
Improve documentation in quick-ceph-deploy.rst
Use admin-node consistently.
ceph should be installed on admin-node for the following reasons:
 "ceph-deploy admin admin-node" assumes that /etc/ceph exists.
 "ceph health" requires the use of ceph

Signed-off-by: Kevin Dalley <kevin@kelphead.org>
doc: link to ephemeral rbd patches

These are necessary for using ephemeral rbd with Havana and Icehouse.

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>
doc: note cinder multi-backend restriction

Signed-off-by: Josh Durgin <josh.durgin@inktank.com>