staging/lustre/osc: check ostid if no OBD_CONNECT_FID
authorHongchao Zhang <hongchao.zhang@intel.com>
Mon, 3 Jun 2013 13:41:00 +0000 (21:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 3 Jun 2013 18:26:37 +0000 (11:26 -0700)
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>
drivers/staging/lustre/lustre/include/lustre/lustre_idl.h

index a6cbb49fb8c40bbef59bff66dc9c4e6e9da4bcfc..8825460f12ac8297ebbfc1fb9a326faa538e0acb 100644 (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);