bsdefs.h 1.74 KB
Newer Older
1
/*
2
 * Copyright (c) 2013-2014 University of Utah and the Flux Group.
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
 * 
 * {{{EMULAB-LICENSE
 * 
 * This file is part of the Emulab network testbed software.
 * 
 * This file is free software: you can redistribute it and/or modify it
 * under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or (at
 * your option) any later version.
 * 
 * This file 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 Affero General Public
 * License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this file.  If not, see <http://www.gnu.org/licenses/>.
 * 
 * }}}
 */

/* Blockstore subsystem definitions */

#ifndef BSDEFS_H
#define BSDEFS_H

#include "tbdefs.h"

#define BS_VNODE_TYPE   "blockstore"

/* Blockstore classes */
#define BS_CLASS_SAN    "SAN"
#define BS_CLASS_LOCAL  "local"

/* Blockstore protocols (a.k.a. bus type) */
#define BS_PROTO_ISCSI  "iSCSI"
#define BS_PROTO_SCSI   "SCSI"
40
#define BS_PROTO_SAS    "SAS"
41 42

/* Definitions related to iSCSI */
43 44 45
#ifndef BS_IQN_PREFIX
#define BS_IQN_PREFIX   "iqn.2000-10.net.emulab"
#endif
46 47
#define BS_IQN_MAXSIZE  sizeof(BS_IQN_PREFIX) + TBDB_FLEN_PID + \
	                TBDB_FLEN_EID + TBDB_FLEN_BSVOL
48

49 50 51 52
#define BS_PERMS_ISCSI_RO  "RO" /* read/write */
#define BS_PERMS_ISCSI_RW  "RW" /* read/write */
#define BS_PERMS_ISCSI_DEF BS_PERMS_ISCSI_RW

53
/* Local placement directives */
54 55 56 57
#define BS_PLACEMENT_ANY    "ANY"
#define BS_PLACEMENT_SYSVOL "SYSVOL"
#define BS_PLACEMENT_NONSYS "NONSYSVOL"
#define BS_PLACEMENT_DEF    BS_PLACEMENT_ANY
58

59
#endif /* BSDEFS_H */