3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 only,
7 * as published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License version 2 for more details (a copy is included
13 * in the LICENSE file that accompanied this code).
15 * You should have received a copy of the GNU General Public License
16 * version 2 along with this program; If not, see
17 * http://www.gnu.org/licenses/gpl-2.0.html
22 * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
23 * Use is subject to license terms.
25 * Copyright (c) 2011, 2014, Intel Corporation.
28 * This file is part of Lustre, http://www.lustre.org/
29 * Lustre is a trademark of Sun Microsystems, Inc.
32 #ifndef __OBD_TARGET_H
33 #define __OBD_TARGET_H
35 /* server-side individual type definitions */
37 #define OBT_MAGIC 0xBDDECEAE
38 /* hold common fields for "target" device */
39 struct obd_device_target {
42 struct lu_target *obt_lut;
43 __u64 obt_mount_count;
44 struct obd_job_stats obt_jobstats;
45 struct nm_config_file *obt_nodemap_config_file;
48 #define OBJ_SUBDIR_COUNT 32 /* set to zero for no subdirs */
51 /* NB this field MUST be first */
52 struct obd_device_target fo_obt;
56 struct obd_device_target eo_obt;
60 struct lustre_handle eo_nl_lock;
65 struct ptlrpc_service *ost_service;
66 struct ptlrpc_service *ost_create_service;
67 struct ptlrpc_service *ost_io_service;
68 struct ptlrpc_service *ost_seq_service;
69 struct ptlrpc_service *ost_out_service;
70 struct mutex ost_health_mutex;
73 #endif /* __OBD_TARGET_H */