Whamcloud - gitweb
git://git.whamcloud.com
/
fs
/
lustre-release.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
LU-1406 ofd: grant support
[fs/lustre-release.git]
/
lustre
/
include
/
lustre_import.h
diff --git
a/lustre/include/lustre_import.h
b/lustre/include/lustre_import.h
index
4ab3acc
..
f32c9ef
100644
(file)
--- a/
lustre/include/lustre_import.h
+++ b/
lustre/include/lustre_import.h
@@
-1,6
+1,4
@@
-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@
-26,8
+24,10
@@
* GPL HEADER END
*/
/*
* GPL HEADER END
*/
/*
- * Copyright
2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright
(c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
* Use is subject to license terms.
+ *
+ * Copyright (c) 2011, Whamcloud, Inc.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
*/
/*
* This file is part of Lustre, http://www.lustre.org/
@@
-124,6
+124,8
@@
enum obd_import_event {
IMP_EVENT_INVALIDATE = 0x808003,
IMP_EVENT_ACTIVE = 0x808004,
IMP_EVENT_OCD = 0x808005,
IMP_EVENT_INVALIDATE = 0x808003,
IMP_EVENT_ACTIVE = 0x808004,
IMP_EVENT_OCD = 0x808005,
+ IMP_EVENT_DEACTIVATE = 0x808006,
+ IMP_EVENT_ACTIVATE = 0x808007,
};
/**
};
/**
@@
-186,7
+188,7
@@
struct obd_import {
* @{
*/
struct ptlrpc_sec *imp_sec;
* @{
*/
struct ptlrpc_sec *imp_sec;
- cfs_
semaphore_t
imp_sec_mutex;
+ cfs_
mutex_t
imp_sec_mutex;
cfs_time_t imp_sec_expire;
/** @} */
cfs_time_t imp_sec_expire;
/** @} */
@@
-261,6
+263,7
@@
struct obd_import {
imp_force_verify:1, /* force an immidiate ping */
imp_pingable:1, /* pingable */
imp_resend_replay:1, /* resend for replay */
imp_force_verify:1, /* force an immidiate ping */
imp_pingable:1, /* pingable */
imp_resend_replay:1, /* resend for replay */
+ imp_no_pinger_recover:1,/* disable normal recovery, for test only. */
imp_force_reconnect:1; /* import must be reconnected instead of chouse new connection */
__u32 imp_connect_op;
struct obd_connect_data imp_connect_data;
imp_force_reconnect:1; /* import must be reconnected instead of chouse new connection */
__u32 imp_connect_op;
struct obd_connect_data imp_connect_data;
@@
-312,16
+315,20
@@
static inline unsigned int at_timeout2est(unsigned int val)
return (max((val << 2) / 5, 5U) - 4);
}
return (max((val << 2) / 5, 5U) - 4);
}
-static inline void at_init(struct adaptive_timeout *at, int val, int flags) {
- memset(at, 0, sizeof(*at));
+static inline void at_reset(struct adaptive_timeout *at, int val) {
at->at_current = val;
at->at_worst_ever = val;
at->at_worst_time = cfs_time_current_sec();
at->at_current = val;
at->at_worst_ever = val;
at->at_worst_time = cfs_time_current_sec();
- at->at_flags = flags;
- cfs_spin_lock_init(&at->at_lock);
}
}
+static inline void at_init(struct adaptive_timeout *at, int val, int flags) {
+ memset(at, 0, sizeof(*at));
+ cfs_spin_lock_init(&at->at_lock);
+ at->at_flags = flags;
+ at_reset(at, val);
+}
+extern unsigned int at_min;
static inline int at_get(struct adaptive_timeout *at) {
static inline int at_get(struct adaptive_timeout *at) {
- return
at->at_current
;
+ return
(at->at_current > at_min) ? at->at_current : at_min
;
}
int at_measured(struct adaptive_timeout *at, unsigned int val);
int import_at_get_index(struct obd_import *imp, int portal);
}
int at_measured(struct adaptive_timeout *at, unsigned int val);
int import_at_get_index(struct obd_import *imp, int portal);