obd_support.h

来自「lustre 1.6.5 source code」· C头文件 代码 · 共 679 行 · 第 1/3 页

H
679
字号
/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*- * vim:expandtab:shiftwidth=8:tabstop=8: * *  Copyright (C) 2001, 2002 Cluster File Systems, Inc. * *   This file is part of Lustre, http://www.lustre.org. * *   Lustre is free software; you can redistribute it and/or *   modify it under the terms of version 2 of the GNU General Public *   License as published by the Free Software Foundation. * *   Lustre 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 for more details. * *   You should have received a copy of the GNU General Public License *   along with Lustre; if not, write to the Free Software *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */#ifndef _OBD_SUPPORT#define _OBD_SUPPORT#include <libcfs/kp30.h>#include <lvfs.h>#include <lprocfs_status.h>#include <lustre/lustre_idl.h>/* global variables */extern struct lprocfs_stats *obd_memory;enum {        OBD_MEMORY_STAT = 0,        OBD_MEMORY_PAGES_STAT = 1,        OBD_STATS_NUM,};extern unsigned int obd_fail_loc;extern unsigned int obd_fail_val;extern unsigned int obd_debug_peer_on_timeout;extern unsigned int obd_dump_on_timeout;extern unsigned int obd_dump_on_eviction;/* obd_timeout should only be used for recovery, not for    networking / disk / timings affected by load (use Adaptive Timeouts) */extern unsigned int obd_timeout;          /* seconds */extern unsigned int ldlm_timeout;         /* seconds */extern unsigned int obd_sync_filter;extern unsigned int obd_max_dirty_pages;extern atomic_t obd_dirty_pages;extern cfs_waitq_t obd_race_waitq;extern int obd_race_state;extern unsigned int obd_alloc_fail_rate;/* Timeout definitions */#define OBD_TIMEOUT_DEFAULT 100#define LDLM_TIMEOUT_DEFAULT 20#ifdef CRAY_XT3 #define OBD_RECOVERY_MAX_TIME (obd_timeout * 18) /* b13079 */#endif/* Time to wait for all clients to reconnect during recovery *//* Should be very conservative; must catch the first reconnect after reboot */#define OBD_RECOVERY_FACTOR (3) /* times obd_timeout *//* Change recovery-small 26b time if you change this */#define PING_INTERVAL max(obd_timeout / 4, 1U)/* Client may skip 1 ping; we must wait at least 2.5. But for multiple * failover targets the client only pings one server at a time, and pings * can be lost on a loaded network. Since eviction has serious consequences, * and there's no urgent need to evict a client just because it's idle, we * should be very conservative here. */#define PING_EVICT_TIMEOUT (PING_INTERVAL * 6)#define DISK_TIMEOUT 50          /* Beyond this we warn about disk speed */#define CONNECTION_SWITCH_MIN 5U /* Connection switching rate limiter */ /* Max connect interval for nonresponsive servers; ~50s to avoid building up    connect requests in the LND queues, but within obd_timeout so we don't    miss the recovery window */#define CONNECTION_SWITCH_MAX min(50U, max(CONNECTION_SWITCH_MIN,obd_timeout))#define CONNECTION_SWITCH_INC 5  /* Connection timeout backoff */#ifndef CRAY_XT3/* In general this should be low to have quick detection of a system    running on a backup server. (If it's too low, import_select_connection   will increase the timeout anyhow.)  */#define INITIAL_CONNECT_TIMEOUT max(CONNECTION_SWITCH_MIN,obd_timeout/20)#else/* ...but for very large systems (e.g. CRAY) we need to keep the initial    connect t.o. high (bz 10803), because they will nearly ALWAYS be doing the   connects for the first time (clients "reboot" after every process, so no   chance to generate adaptive timeout data. */#define INITIAL_CONNECT_TIMEOUT max(CONNECTION_SWITCH_MIN,obd_timeout/2)#endif#define LONG_UNLINK 300          /* Unlink should happen before now */#define OBD_FAIL_MDS                     0x100#define OBD_FAIL_MDS_HANDLE_UNPACK       0x101#define OBD_FAIL_MDS_GETATTR_NET         0x102#define OBD_FAIL_MDS_GETATTR_PACK        0x103#define OBD_FAIL_MDS_READPAGE_NET        0x104#define OBD_FAIL_MDS_READPAGE_PACK       0x105#define OBD_FAIL_MDS_SENDPAGE            0x106#define OBD_FAIL_MDS_REINT_NET           0x107#define OBD_FAIL_MDS_REINT_UNPACK        0x108#define OBD_FAIL_MDS_REINT_SETATTR       0x109#define OBD_FAIL_MDS_REINT_SETATTR_WRITE 0x10a#define OBD_FAIL_MDS_REINT_CREATE        0x10b#define OBD_FAIL_MDS_REINT_CREATE_WRITE  0x10c#define OBD_FAIL_MDS_REINT_UNLINK        0x10d#define OBD_FAIL_MDS_REINT_UNLINK_WRITE  0x10e#define OBD_FAIL_MDS_REINT_LINK          0x10f#define OBD_FAIL_MDS_REINT_LINK_WRITE    0x110#define OBD_FAIL_MDS_REINT_RENAME        0x111#define OBD_FAIL_MDS_REINT_RENAME_WRITE  0x112#define OBD_FAIL_MDS_OPEN_NET            0x113#define OBD_FAIL_MDS_OPEN_PACK           0x114#define OBD_FAIL_MDS_CLOSE_NET           0x115#define OBD_FAIL_MDS_CLOSE_PACK          0x116#define OBD_FAIL_MDS_CONNECT_NET         0x117#define OBD_FAIL_MDS_CONNECT_PACK        0x118#define OBD_FAIL_MDS_REINT_NET_REP       0x119#define OBD_FAIL_MDS_DISCONNECT_NET      0x11a#define OBD_FAIL_MDS_GETSTATUS_NET       0x11b#define OBD_FAIL_MDS_GETSTATUS_PACK      0x11c#define OBD_FAIL_MDS_STATFS_PACK         0x11d#define OBD_FAIL_MDS_STATFS_NET          0x11e#define OBD_FAIL_MDS_GETATTR_NAME_NET    0x11f#define OBD_FAIL_MDS_PIN_NET             0x120#define OBD_FAIL_MDS_UNPIN_NET           0x121#define OBD_FAIL_MDS_ALL_REPLY_NET       0x122#define OBD_FAIL_MDS_ALL_REQUEST_NET     0x123#define OBD_FAIL_MDS_SYNC_NET            0x124#define OBD_FAIL_MDS_SYNC_PACK           0x125#define OBD_FAIL_MDS_DONE_WRITING_NET    0x126#define OBD_FAIL_MDS_DONE_WRITING_PACK   0x127#define OBD_FAIL_MDS_ALLOC_OBDO          0x128#define OBD_FAIL_MDS_PAUSE_OPEN          0x129#define OBD_FAIL_MDS_STATFS_LCW_SLEEP    0x12a#define OBD_FAIL_MDS_OPEN_CREATE         0x12b#define OBD_FAIL_MDS_OST_SETATTR         0x12c#define OBD_FAIL_MDS_QUOTACHECK_NET      0x12d#define OBD_FAIL_MDS_QUOTACTL_NET        0x12e#define OBD_FAIL_MDS_CLIENT_ADD          0x12f#define OBD_FAIL_MDS_GETXATTR_NET        0x130#define OBD_FAIL_MDS_GETXATTR_PACK       0x131#define OBD_FAIL_MDS_SETXATTR_NET        0x132#define OBD_FAIL_MDS_SETXATTR            0x133#define OBD_FAIL_MDS_SETXATTR_WRITE      0x134#define OBD_FAIL_MDS_FS_SETUP            0x135#define OBD_FAIL_MDS_RESEND              0x136#define OBD_FAIL_MDS_LLOG_CREATE_FAILED  0x137#define OBD_FAIL_MDS_LOV_SYNC_RACE       0x138#define OBD_FAIL_MDS_OSC_PRECREATE       0x139#define OBD_FAIL_MDS_LLOG_SYNC_TIMEOUT   0x13a#define OBD_FAIL_MDS_CLOSE_NET_REP       0x13b#define OBD_FAIL_MDS_BLOCK_QUOTA_REQ     0x13c#define OBD_FAIL_MDS_DROP_QUOTA_REQ      0x13d#define OBD_FAIL_OST                     0x200#define OBD_FAIL_OST_CONNECT_NET         0x201#define OBD_FAIL_OST_DISCONNECT_NET      0x202#define OBD_FAIL_OST_GET_INFO_NET        0x203#define OBD_FAIL_OST_CREATE_NET          0x204#define OBD_FAIL_OST_DESTROY_NET         0x205#define OBD_FAIL_OST_GETATTR_NET         0x206#define OBD_FAIL_OST_SETATTR_NET         0x207#define OBD_FAIL_OST_OPEN_NET            0x208#define OBD_FAIL_OST_CLOSE_NET           0x209#define OBD_FAIL_OST_BRW_NET             0x20a#define OBD_FAIL_OST_PUNCH_NET           0x20b#define OBD_FAIL_OST_STATFS_NET          0x20c#define OBD_FAIL_OST_HANDLE_UNPACK       0x20d#define OBD_FAIL_OST_BRW_WRITE_BULK      0x20e#define OBD_FAIL_OST_BRW_READ_BULK       0x20f#define OBD_FAIL_OST_SYNC_NET            0x210#define OBD_FAIL_OST_ALL_REPLY_NET       0x211#define OBD_FAIL_OST_ALL_REQUEST_NET     0x212#define OBD_FAIL_OST_LDLM_REPLY_NET      0x213#define OBD_FAIL_OST_BRW_PAUSE_BULK      0x214#define OBD_FAIL_OST_ENOSPC              0x215#define OBD_FAIL_OST_EROFS               0x216#define OBD_FAIL_OST_ENOENT              0x217#define OBD_FAIL_OST_QUOTACHECK_NET      0x218#define OBD_FAIL_OST_QUOTACTL_NET        0x219#define OBD_FAIL_OST_CHECKSUM_RECEIVE    0x21a#define OBD_FAIL_OST_CHECKSUM_SEND       0x21b#define OBD_FAIL_OST_BRW_SIZE            0x21c#define OBD_FAIL_OST_DROP_REQ            0x21d#define OBD_FAIL_OST_SETATTR_CREDITS     0x21e#define OBD_FAIL_OST_HOLD_WRITE_RPC      0x21f#define OBD_FAIL_OST_BRW_WRITE_BULK2     0x220#define OBD_FAIL_OST_LLOG_RECOVERY_TIMEOUT 0x221#define OBD_FAIL_OST_CANCEL_COOKIE_TIMEOUT 0x222#define OBD_FAIL_OST_PAUSE_CREATE        0x223#define OBD_FAIL_OST_BRW_PAUSE_PACK      0x224#define OBD_FAIL_OST_CONNECT_NET2        0x225#define OBD_FAIL_LDLM                    0x300#define OBD_FAIL_LDLM_NAMESPACE_NEW      0x301#define OBD_FAIL_LDLM_ENQUEUE            0x302#define OBD_FAIL_LDLM_CONVERT            0x303#define OBD_FAIL_LDLM_CANCEL             0x304#define OBD_FAIL_LDLM_BL_CALLBACK        0x305#define OBD_FAIL_LDLM_CP_CALLBACK        0x306#define OBD_FAIL_LDLM_GL_CALLBACK        0x307#define OBD_FAIL_LDLM_ENQUEUE_EXTENT_ERR 0x308#define OBD_FAIL_LDLM_ENQUEUE_INTENT_ERR 0x309#define OBD_FAIL_LDLM_CREATE_RESOURCE    0x30a#define OBD_FAIL_LDLM_ENQUEUE_BLOCKED    0x30b#define OBD_FAIL_LDLM_REPLY              0x30c#define OBD_FAIL_LDLM_RECOV_CLIENTS      0x30d#define OBD_FAIL_LDLM_ENQUEUE_OLD_EXPORT 0x30e#define OBD_FAIL_LDLM_GLIMPSE            0x30f#define OBD_FAIL_LDLM_CANCEL_RACE        0x310#define OBD_FAIL_LDLM_CANCEL_EVICT_RACE  0x311#define OBD_FAIL_LDLM_PAUSE_CANCEL       0x312#define OBD_FAIL_LDLM_CLOSE_THREAD       0x313#define OBD_FAIL_LDLM_CANCEL_BL_CB_RACE  0x314#define OBD_FAIL_OSC                     0x400#define OBD_FAIL_OSC_BRW_READ_BULK       0x401#define OBD_FAIL_OSC_BRW_WRITE_BULK      0x402#define OBD_FAIL_OSC_LOCK_BL_AST         0x403#define OBD_FAIL_OSC_LOCK_CP_AST         0x404#define OBD_FAIL_OSC_MATCH               0x405#define OBD_FAIL_OSC_BRW_PREP_REQ        0x406#define OBD_FAIL_OSC_SHUTDOWN            0x407#define OBD_FAIL_OSC_CHECKSUM_RECEIVE    0x408#define OBD_FAIL_OSC_CHECKSUM_SEND       0x409

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?