/*
* Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
+ *
+ * Copyright (c) 2011, Whamcloud, Inc.
*/
/*
* This file is part of Lustre, http://www.lustre.org/
IMP_EVENT_INVALIDATE = 0x808003,
IMP_EVENT_ACTIVE = 0x808004,
IMP_EVENT_OCD = 0x808005,
+ IMP_EVENT_DEACTIVATE = 0x808006,
+ IMP_EVENT_ACTIVATE = 0x808007,
};
/**
* @{
*/
struct ptlrpc_sec *imp_sec;
- cfs_semaphore_t imp_sec_mutex;
+ cfs_mutex_t imp_sec_mutex;
cfs_time_t imp_sec_expire;
/** @} */
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;
at->at_flags = flags;
cfs_spin_lock_init(&at->at_lock);
}
+extern unsigned int at_min;
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);