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>
mailmap: Warren Usui is with Inktank

Reviewed-by: Warren Usui <warren.usui@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Allen Samuels affiliation

Signed-off-by: Loic Dachary <loic@dachary.org>
be nitpicky about missing references

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
ensure pybind is in the PYTHONPATH

Signed-off-by: Alfredo Deza <alfredo@deza.pe>
mailmap: Stephan Renatus affiliation

Reviewed-by: Stephan Renatus <s.renatus@x-ion.de>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Sharif Olorin affiliation

Reviewed-by: Sharif Olorin <sio@tesser.org>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Mohammad Salehe affiliation

Reviewed-by: Mohammad Salehe <salehe+dev@gmail.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: James Ryan Cresawn affiliation

Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Guang Yang affiliation

and name normalization

Reviewed-by: Guang Yang <yguang@yahoo-inc.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Tyler Brekke name normalization

Reviewed-by: Tyler Brekke <tyler.brekke@inktank.com>
Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Huang Jun name normalization

Signed-off-by: Loic Dachary <loic@dachary.org>
mailmap: Inktank jenkins bot

Signed-off-by: Loic Dachary <loic@dachary.org>
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>
rgw: don't modify rgw_bucket for data extra pool

This cleans up the interface, as we don't have this ugly implicit
structure modification when we deal with object that resides on the data
extra pool. Replcae lot's of calls to get_obj_bucket_and_oid_key() to a
cleaner get_obj_ref() that uses a struct to hold the updated fields, and
update the relevant callers.

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