staging/lustre/osc: check ostid if no OBD_CONNECT_FID

in lustre_set_wire_obdo, if "ocd->ocd_connect_flags" doesn't contain
OBD_CONNECT_FID, use "ost_id" to check the type of the object
instead of using ost_id.oi_fid only.

Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-3360
Lustre-change: http://review.whamcloud.com/6426
Signed-off-by: Hongchao Zhang <hongchao.zhang@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
Reviewed-by: wangdi <di.wang@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Hongchao Zhang
2013-06-03 21:41:00 +08:00
committed by Greg Kroah-Hartman
parent 09b0170e67
commit 6752a53e5c

View File

@@ -3225,7 +3225,7 @@ static inline void lustre_set_wire_obdo(struct obd_connect_data *ocd,
return;
if (unlikely(!(ocd->ocd_connect_flags & OBD_CONNECT_FID)) &&
fid_seq_is_echo(fid_seq(&lobdo->o_oi.oi_fid))) {
fid_seq_is_echo(ostid_seq(&lobdo->o_oi))) {
/* Currently OBD_FL_OSTID will only be used when 2.4 echo
* client communicate with pre-2.4 server */
wobdo->o_oi.oi.oi_id = fid_oid(&lobdo->o_oi.oi_fid);