Whamcloud - gitweb
LU-3850 obdecho: create remote dir from echo client 02/7502/6
authorwang di <di.wang@intel.com>
Thu, 29 Aug 2013 07:00:12 +0000 (00:00 -0700)
committerOleg Drokin <oleg.drokin@intel.com>
Mon, 4 Nov 2013 16:26:49 +0000 (16:26 +0000)
commit673b09fb36a85a5f2a263d8953c4a3aff89faf20
tree4e4579b154636d46e5289f0af7afdd4ad2c933c0
parent27815a0611a2e315a9a7696a20c2f257d48aeb7e
LU-3850 obdecho: create remote dir from echo client

Because echo client can only talk to local MDD, it will
send create remote dir req to the MDT where the dir is
located, which is different as the normal remote create
request. This patch fixes a few problem of this process

1. Not set parent during ah_init, which will make local OSD
to access the remote parent.

2. set correct attribute for remote parent in the declare
phase.

3. set root_fid for other MDT, which is needed by echo_client
to resolve the path on non-MDT0.

4. set child_base_id in oi_id directly to avoid the sanity
check in ostid_set_id,  and also child_base_id is actually
being used as the base of name, instead of FID.

5. Disable rmdir on remote MDT for echo client, i.e. echo
client can only unlink the directory on the MDT which echo
client is attached to, so lctl test_rmdir will be consistent
with normal rmdir.

Signed-off-by: wang di <di.wang@intel.com>
Change-Id: I16df8f0211afae670bfeea1ba1087a77a6b775da
Reviewed-on: http://review.whamcloud.com/7502
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Alex Zhuravlev <alexey.zhuravlev@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/lod/lod_object.c
lustre/mdd/mdd_device.c
lustre/mdd/mdd_dir.c
lustre/obdecho/echo_client.c
lustre/osp/osp_md_object.c
lustre/utils/obd.c