From: Ben Evans Date: Thu, 22 Oct 2015 17:01:30 +0000 (-0500) Subject: LU-6401 headers: Create a header for obdo related functions X-Git-Tag: 2.8.51~15 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=713174908cb8e5e3ceadd3ca1cb42a88b200e576;ds=inline LU-6401 headers: Create a header for obdo related functions Remove all obdo related functions from lustre_idl.h Create lustre_odbo.h Include where appropriate, reorganize #include blocks Signed-off-by: Ben Evans Change-Id: I35646ba27a0903bbb64281ad49fd650b10f71d7b Reviewed-on: http://review.whamcloud.com/16917 Tested-by: Jenkins Tested-by: Maloo Reviewed-by: James Simmons Reviewed-by: Andreas Dilger Reviewed-by: Oleg Drokin --- diff --git a/lustre/include/Makefile.am b/lustre/include/Makefile.am index 8ff5a9f..410b55c 100644 --- a/lustre/include/Makefile.am +++ b/lustre/include/Makefile.am @@ -80,6 +80,7 @@ EXTRA_DIST = \ lustre_nrs_fifo.h \ lustre_nrs_orr.h \ lustre_nrs_tbf.h \ + lustre_obdo.h \ lustre_param.h \ lustre_patchless_compat.h \ lustre_quota.h \ diff --git a/lustre/include/lustre/lustre_idl.h b/lustre/include/lustre/lustre_idl.h index 3cf729f..e51aae3 100644 --- a/lustre/include/lustre/lustre_idl.h +++ b/lustre/include/lustre/lustre_idl.h @@ -3481,54 +3481,9 @@ enum lfsck_event_flags { LEF_QUERY_ALL = 0x00000020, }; -static inline void lustre_set_wire_obdo(const struct obd_connect_data *ocd, - struct obdo *wobdo, - const struct obdo *lobdo) -{ - *wobdo = *lobdo; - wobdo->o_flags &= ~OBD_FL_LOCAL_MASK; - if (ocd == NULL) - return; - - if (unlikely(!(ocd->ocd_connect_flags & OBD_CONNECT_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); - wobdo->o_oi.oi.oi_seq = fid_seq(&lobdo->o_oi.oi_fid); - } -} - -static inline void lustre_get_wire_obdo(const struct obd_connect_data *ocd, - struct obdo *lobdo, - const struct obdo *wobdo) -{ - __u32 local_flags = 0; - - if (lobdo->o_valid & OBD_MD_FLFLAGS) - local_flags = lobdo->o_flags & OBD_FL_LOCAL_MASK; - - *lobdo = *wobdo; - if (local_flags != 0) { - lobdo->o_valid |= OBD_MD_FLFLAGS; - lobdo->o_flags &= ~OBD_FL_LOCAL_MASK; - lobdo->o_flags |= local_flags; - } - if (ocd == NULL) - return; - - if (unlikely(!(ocd->ocd_connect_flags & OBD_CONNECT_FID)) && - fid_seq_is_echo(wobdo->o_oi.oi.oi_seq)) { - /* see above */ - lobdo->o_oi.oi_fid.f_seq = wobdo->o_oi.oi.oi_seq; - lobdo->o_oi.oi_fid.f_oid = wobdo->o_oi.oi.oi_id; - lobdo->o_oi.oi_fid.f_ver = 0; - } -} - /* request structure for OST's */ struct ost_body { - struct obdo oa; + struct obdo oa; }; /* Key for FIEMAP to be used in get_info calls */ @@ -3544,7 +3499,6 @@ void lustre_print_user_md(unsigned int level, struct lov_user_md *lum, /* Functions for dumping PTLRPC fields */ void dump_rniobuf(struct niobuf_remote *rnb); void dump_ioo(struct obd_ioobj *nb); -void dump_obdo(struct obdo *oa); void dump_ost_body(struct ost_body *ob); void dump_rcs(__u32 *rc); diff --git a/lustre/include/lustre_obdo.h b/lustre/include/lustre_obdo.h new file mode 100644 index 0000000..8455b0d --- /dev/null +++ b/lustre/include/lustre_obdo.h @@ -0,0 +1,96 @@ +/* + * GPL HEADER START + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 only, + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License version 2 for more details (a copy is included + * in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU General Public License + * version 2 along with this program; If not, see + * http://www.gnu.org/licenses/gpl-2.0.html + * + * GPL HEADER END + */ +/* + * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved. + * Use is subject to license terms. + * + * Copyright (c) 2011, 2014, Intel Corporation. + * + * Copyright 2015 Cray Inc, all rights reserved. + * Author: Ben Evans. + * + * Define obdo associated functions + * obdo: OBject Device o... + */ + +#ifndef _LUSTRE_OBDO_H_ +#define _LUSTRE_OBDO_H_ + +#include + +/** + * Dumper for struct obdo + */ +void dump_obdo(struct obdo *oa); + +/** + * Create an obdo to send over the wire + */ +static inline void lustre_set_wire_obdo(const struct obd_connect_data *ocd, + struct obdo *wobdo, + const struct obdo *lobdo) +{ + *wobdo = *lobdo; + wobdo->o_flags &= ~OBD_FL_LOCAL_MASK; + if (ocd == NULL) + return; + + if (unlikely(!(ocd->ocd_connect_flags & OBD_CONNECT_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); + wobdo->o_oi.oi.oi_seq = fid_seq(&lobdo->o_oi.oi_fid); + } +} + +/** + * Create a local obdo from a wire based odbo + */ +static inline void lustre_get_wire_obdo(const struct obd_connect_data *ocd, + struct obdo *lobdo, + const struct obdo *wobdo) +{ + __u32 local_flags = 0; + + if (lobdo->o_valid & OBD_MD_FLFLAGS) + local_flags = lobdo->o_flags & OBD_FL_LOCAL_MASK; + + *lobdo = *wobdo; + if (local_flags != 0) { + lobdo->o_valid |= OBD_MD_FLFLAGS; + lobdo->o_flags &= ~OBD_FL_LOCAL_MASK; + lobdo->o_flags |= local_flags; + } + if (ocd == NULL) + return; + + if (unlikely(!(ocd->ocd_connect_flags & OBD_CONNECT_FID)) && + fid_seq_is_echo(wobdo->o_oi.oi.oi_seq)) { + /* see above */ + lobdo->o_oi.oi_fid.f_seq = wobdo->o_oi.oi.oi_seq; + lobdo->o_oi.oi_fid.f_oid = wobdo->o_oi.oi.oi_id; + lobdo->o_oi.oi_fid.f_ver = 0; + } +} + +#endif diff --git a/lustre/osc/osc_io.c b/lustre/osc/osc_io.c index a22ecbd..69d4e06 100644 --- a/lustre/osc/osc_io.c +++ b/lustre/osc/osc_io.c @@ -41,6 +41,8 @@ #define DEBUG_SUBSYSTEM S_OSC +#include + #include "osc_cl_internal.h" /** \addtogroup osc diff --git a/lustre/osc/osc_request.c b/lustre/osc/osc_request.c index 2ef9e455..f636360 100644 --- a/lustre/osc/osc_request.c +++ b/lustre/osc/osc_request.c @@ -38,21 +38,23 @@ #include -#include -#include #include -#include -#include + #include -#include #include -#include +#include #include -#include -#include +#include +#include #include -#include "osc_internal.h" +#include +#include +#include +#include +#include + #include "osc_cl_internal.h" +#include "osc_internal.h" atomic_t osc_pool_req_count; unsigned int osc_reqpool_maxreqcount; diff --git a/lustre/osp/osp_dev.c b/lustre/osp/osp_dev.c index 0cd88ec..2bb469e 100644 --- a/lustre/osp/osp_dev.c +++ b/lustre/osp/osp_dev.c @@ -75,10 +75,12 @@ #define DEBUG_SUBSYSTEM S_MDS #include -#include + #include -#include #include +#include +#include +#include #include "osp_internal.h" diff --git a/lustre/osp/osp_object.c b/lustre/osp/osp_object.c index 294aff1..96e3135 100644 --- a/lustre/osp/osp_object.c +++ b/lustre/osp/osp_object.c @@ -124,7 +124,9 @@ #define DEBUG_SUBSYSTEM S_MDS +#include #include + #include "osp_internal.h" static inline __u32 osp_dev2node(struct osp_device *osp) diff --git a/lustre/osp/osp_precreate.c b/lustre/osp/osp_precreate.c index 35782365..b9f6760 100644 --- a/lustre/osp/osp_precreate.c +++ b/lustre/osp/osp_precreate.c @@ -45,6 +45,9 @@ #define DEBUG_SUBSYSTEM S_MDS #include + +#include + #include "osp_internal.h" /* diff --git a/lustre/target/out_handler.c b/lustre/target/out_handler.c index bd9809d..ab902aa 100644 --- a/lustre/target/out_handler.c +++ b/lustre/target/out_handler.c @@ -32,6 +32,7 @@ #define DEBUG_SUBSYSTEM S_CLASS #include +#include #include #include #include diff --git a/lustre/target/out_lib.c b/lustre/target/out_lib.c index cdddbbc..1b89ff6 100644 --- a/lustre/target/out_lib.c +++ b/lustre/target/out_lib.c @@ -32,10 +32,12 @@ #define DEBUG_SUBSYSTEM S_CLASS #include -#include +#include #include +#include #include #include + #include "tgt_internal.h" const char *update_op_str(__u16 opc) diff --git a/lustre/target/update_records.c b/lustre/target/update_records.c index ab09e4f..87bd7e7 100644 --- a/lustre/target/update_records.c +++ b/lustre/target/update_records.c @@ -41,9 +41,11 @@ #define DEBUG_SUBSYSTEM S_CLASS #include +#include #include #include #include + #include "tgt_internal.h" #define UPDATE_RECORDS_BUFFER_SIZE 8192 diff --git a/lustre/target/update_recovery.c b/lustre/target/update_recovery.c index 40db87c..3ffecba1 100644 --- a/lustre/target/update_recovery.c +++ b/lustre/target/update_recovery.c @@ -44,11 +44,13 @@ #define DEBUG_SUBSYSTEM S_CLASS #include +#include #include #include #include #include #include + #include "tgt_internal.h" /**