Merge pull request #1742 from ceph/wip-multimds

Wip multimds
crush/builder.c: remove some unreachable return statements

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
msg: fix some -Wextra-semi warnings

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
remove superfluous second semicolons at end of lines

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
fragtree: remove dead code

Signed-off-by: John Spray <john.spray@inktank.com>
fragtree: remove unused and broken verify()

This fn had a while(1) with no break: if anyone
had called it it would block forever.

Caught by clang's "function 'verify' could be declared
with attribute 'noreturn'" warning.

Signed-off-by: John Spray <john.spray@inktank.com>
encoding: make .size() to __u32 cast explicit

Caught by clang warning that this is a conversion
from "unsigned long" to "unsigned int" which can
lose precision.  However, this is the conversion
we want because our serialization format defines
sizes as 4 bytes.

Signed-off-by: John Spray <john.spray@inktank.com>
mds: Remove redundant 'using namespace std'

This simply was not being used, and triggered
a clang warning.

Signed-off-by: John Spray <john.spray@inktank.com>
mon: Fix % escaping (\% should be %%)

Clang's -Wpedantic points this out.

Signed-off-by: John Spray <john.spray@inktank.com>
os/FileJournal: remove unused attribute

Clang:
os/FileJournal.h:224:8: warning: private field 'is_bdev' is not used
[-Wunused-private-field]

Signed-off-by: John Spray <john.spray@inktank.com>
rgw: Remove trailing ; from fn definitions

Clang:
warning: extra ';' after member function
definition [-Wextra-semi]

Signed-off-by: John Spray <john.spray@inktank.com>
Objecter::calc_target(): init best_locality with 0

Init best_locality to fix:

osdc/Objecter.cc:1519:26: warning: variable 'best_locality' may be
 uninitialized when used here [-Wconditional-uninitialized]
              (locality >= 0 && best_locality >= 0 &&
                                ^~~~~~~~~~~~~
osdc/Objecter.cc:1511:19: note: initialize the variable 'best_locality'
 to silence this warning
        int best_locality;
                         ^
                          = 0

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
ObjectCacher::_wait_for_write(): init 'bool done'

Init 'bool done' with 'false' to fix:

osdc/Objecter.h:915:27: warning: implicit conversion los: variable 'done'
 may be uninitialized when used here [-Wconditional-uninitialized]
      while (!done)
              ^~~~
osdc/ObjectCacher.cc:1399:14: note: initialize the variable 'done' to
 silence this warning
    bool done;
             ^
              = false

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rbd-fuse.c: init 'rbd' in open_rbd_image()

Init 'rbd' in open_rbd_image() with NULL and add a check for
'rbd' before dereference it to fix:

rbd_fuse/rbd-fuse.c:182:29: warning: variable 'rbd' may be uninitialized
 when used here [-Wconditional-uninitialized]
        int ret = rbd_open(ioctx, rbd->image_name, &(rbd->image), NULL);
                                  ^~~
rbd_fuse/rbd-fuse.c:151:27: note: initialize the variable 'rbd' to silence
 this warning
        struct rbd_openimage *rbd;
                                 ^
                                  = NULL

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rbd.cc: init 'snap_protected' to fix -Wconditional-uninitialized

Init 'snap_protected' with false to fix:

rbd.cc:544:35: warning: variable 'snap_protected' may be uninitialized
 when used here [-Wconditional-uninitialized]
      f->dump_string("protected", snap_protected ? "true" : "false");
                                  ^~~~~~~~~~~~~~
rbd.cc:482:22: note: initialize the variable 'snap_protected' to silence
 this warning
  bool snap_protected;
                     ^
                      = false

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
krbd: match new with delete, not free()

struct krbd_ctx is allocated with new, use delete to get rid of it.

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
krbd: fix sysfs path in the comment

It's "/sys/bus/rbd/devices/<id>", but libudev works with devices and
not busses, so it's really "/sys/devices/rbd/<id>/".

Signed-off-by: Ilya Dryomov <ilya.dryomov@inktank.com>
rbd-fuse.c: fix -Wmissing-field-initializers

Init image_name with NULL to fix:

rbd_fuse/rbd-fuse.c:57:63: warning: missing field 'image_name' initializer
 [-Wmissing-field-initializers]
 struct rbd_options rbd_options = {"/etc/ceph/ceph.conf", "rbd"};

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rbd-fuse.c: fix indentation

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
rbd-fuse.c: remove ridiculous linebreak

Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>