mds: Return EINVAL for parent lookup on root ino

This was the behaviour before 8d6b25a1, and distinguishes
the general failure to find a parent (ESTALE) from the specific
case of a node being present but being the base (EINVAL)

Signed-off-by: John Spray <john.spray@inktank.com>
client: Add lookup_parent & lookup_name

Exposing the CEPH_MDS_OP_LOOKUPPARENT and
recently added CEPH_MDS_OP_LOOKUPNAME operations.

lookup_ino and lookup_parent optionally take an Inode**
which will be populated with a reference to the
resulting inode.

Fixes: #3863

Signed-off-by: John Spray <john.spray@inktank.com>
libcephfs: add ceph_ll_lookup_inode

This is a wrapper to lookup_ino, lookup_parent
and lookup_name, to provide the
caller with the requested inode and its
dentry.  The result is suitable for traversing
the inode's path.

Fixes: #3863

Signed-off-by: John Spray <john.spray@inktank.com>
tools: Create ceph-client-debug

For exposing test/dev functionality which uses
the cephfs client interface.

Initially just provides lookup-by-ino.

Fixes: #3863

Signed-off-by: John Spray <john.spray@inktank.com>
msg: set recv stamp for local delivery

Fixes: #7827
Signed-off-by: Sage Weil <sage@inktank.com>
client: don't include ceph.{file,dir}.layout vxattr in listxattr()

This avoids 'cp -a' modifying layout of new files/directories.

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
mon: Monitor: s/get_status()/get_cluster_status()/

Monitor::get_status() is actually used to obtain 'cluster status' (i.e.,
status about *all* the monitors, maps, IO, overall healthiness).

Just make that clear in the function name, avoiding confusion between
multiple 'status-related' functions in the monitor.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
mon: Monitor: s/_mon_status()/get_mon_status()/

'Monitor::_mon_status()' provides status specific to the monitor being
poked.  This is information that does not necessarily relate with
cluster status, and can even be obtained when there's no quorum (via the
admin socket).

We change the function name to make the distinction between mon-specific
status and cluster-status, which is obtained via a different function.

Signed-off-by: Joao Eduardo Luis <joao.luis@inktank.com>
Merge pull request #1524 from dachary/wip-sse

erasure-code: deactivate SSE optimizations
Revert "erasure-code: gf-complete detects SSE at runtime"

This reverts commit dbcf4471838fbf5dce2ee06fc73493f513dbf9f0.
Merge pull request #1526 from ceph/wip-status-function-names

mon: Monitor: change 'status' function names for clarity's sake

Reviewed-by: Sage Weil <sage@inktank.com>
be nitpicky about missing references

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
Merge pull request #1523 from ceph/wip-7827

msg: set recv stamp for local delivery

Reviewed-by: Greg Farnum <greg@inktank.com>
ensure pybind is in the PYTHONPATH

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
Merge pull request #1525 from ceph/wip-listxattr

client: don't include ceph.{file,dir}.layout vxattr in listxattr()

Reviwed-by: Sage Weil <sage@inktank.com>
qa: Add ceph_multi_stress_watch for rep and ec

Fixes: #7438

Signed-off-by: David Zafman <david.zafman@inktank.com>
Merge pull request #1528 from ceph/wip-dz-watch-test

Reviewed-by: Samuel Just <sam.just@inktank.com>
rgw: add data_extra pool to bucket

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: zone placement info includes extra data pool

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>
rgw: multipart meta object uses extra data pool

Fixes: #7676
We need the extra data pool since EC backends cannot handle the omap
operations that are needed for the multipart meta object.

Signed-off-by: Yehuda Sadeh <yehuda@inktank.com>