Update RBD doc for OpenStack

Some updates from Icehouse, best practice configurations and
explanations.

Signed-off-by: Sébastien Han <sebastien.han@enovance.com>

Conflicts:
	doc/rbd/rbd-openstack.rst
MOSDOp: The functions are returned by const ref and parameters passed by ref

get_snapid(),get_snap_seq,get_pg,get_object_locator,get_version are returning
by reference and the corresponding setter is accepting the param by reference.
MOSDOp constructor is is accepting pg_t  by reference now.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
MOSDOpreply: The functions are returned by const ref and parameters passed by ref

get_oid,get_pg,get_replay_version,get_user_version are returning by reference and
corresponding setter is accepting param by reference.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
MOSDOpReply: Constructor initialization list is used to instantiate members

constructor initialization list is modified to initialize ops,oid,pgid with
copy constructor instead of assignment operator in the constructor body.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
mds: pass finish context to MDlog::submit_entry()

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: add get_metablob() to log events

later commits will use it to get EMetaBlob and update EMetaBlob's
event sequence number.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: introduce sequence number for log events

Use the sequence number to index log segments. Later commit will defer
encoding/submitting log events to separate thread, log events' offsets
are unknown before they are encoded.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: print sequence number of log segment
OSD: pass param by ref to avoid copying overrhead

passing OpRequestRef, OSDMapRef by ref to avoid refcounting overhead
and in some cases passing structures by const ref.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
OSDMap: avoid passing pg_t by value

Passing pg_t param by cons ref for avoiding copies.

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
PG: pass OpRequestRef by ref to avoid refcounting overhead

Signed-off-by: Somnath Roy <somnath.roy@sandisk.com>
ceph.in: handle DYLD_LIBRARY_PATH on OS X

On OS X, the environment variable to override
to .libs is DYLD_LIBRARY_PATH instead of
LD_LIBRARY_PATH.

Signed-off-by: John Spray <john.spray@redhat.com>
common/Thread: add missing #include for pid_t

On linux this worked by side effect from
pthread.h, but POSIX header for pid_t is
sys/types.h -- this is needed on OS X.

Signed-off-by: John Spray <john.spray@redhat.com>
os/FileStore: move ZFS_SUPER_MAGIC in linux ifdef

The __SWORD_TYPE for this line is linux-specific.

Signed-off-by: John Spray <john.spray@redhat.com>
client: handle missing O_RSYNC constant

Although this is part of POSIX, it's missing on
OS X.  #define it to zero in this case so that checks
for the flag will always be false.

Signed-off-by: John Spray <john.spray@redhat.com>
common: move #include syscall into ifndef DARWIN

Signed-off-by: John Spray <john.spray@redhat.com>
os/FileStore: put SUPER usage in ifdef __linux__

This is an update to take account of 9312c5e wherein
the FS_* enum was replaced by direct use of SUPER_MAGIC
macros.

Signed-off-by: John Spray <john.spray@redhat.com>
mds: avoid comparing MutationRef with 0

LLVM on OS X considers this == operator with an int
ambiguous: compare with an explicit MutationRef()
instead.

Signed-off-by: John Spray <john.spray@redhat.com>
mds: add thread to encode/submit log events

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mds: use mutex to protect log segment list

prevent race between creating new log segment and trimming old
segment.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>