X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Finclude%2Flustre_import.h;h=cba464788956a41c71c33073dabe5251f5021161;hb=08aa217ce49aba1ded52e0f7adb8a607035123fd;hp=17c36dd1de2e9f8d3421a59f5ce5fcf28900de0a;hpb=a37738fcbd79e283c687a630d9ccb7d7a9fedb3e;p=fs%2Flustre-release.git diff --git a/lustre/include/lustre_import.h b/lustre/include/lustre_import.h index 17c36dd..cba4647 100644 --- 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. @@ -28,6 +26,8 @@ /* * Copyright (c) 2002, 2010, Oracle and/or its affiliates. All rights reserved. * Use is subject to license terms. + * + * Copyright (c) 2011, 2012, Intel Corporation. */ /* * This file is part of Lustre, http://www.lustre.org/ @@ -61,13 +61,13 @@ #define AT_FLG_NOHIST 0x1 /* use last reported value only */ struct adaptive_timeout { - time_t at_binstart; /* bin start time */ - unsigned int at_hist[AT_BINS]; /* timeout history bins */ - unsigned int at_flags; - unsigned int at_current; /* current timeout value */ - unsigned int at_worst_ever; /* worst-ever timeout value */ - time_t at_worst_time; /* worst-ever timeout timestamp */ - cfs_spinlock_t at_lock; + time_t at_binstart; /* bin start time */ + unsigned int at_hist[AT_BINS]; /* timeout history bins */ + unsigned int at_flags; + unsigned int at_current; /* current timeout value */ + unsigned int at_worst_ever; /* worst-ever timeout value */ + time_t at_worst_time; /* worst-ever timeout timestamp */ + spinlock_t at_lock; }; struct ptlrpc_at_array { @@ -188,7 +188,7 @@ struct obd_import { * @{ */ struct ptlrpc_sec *imp_sec; - cfs_semaphore_t imp_sec_mutex; + struct mutex imp_sec_mutex; cfs_time_t imp_sec_expire; /** @} */ @@ -248,7 +248,7 @@ struct obd_import { struct obd_import_conn *imp_conn_current; /** Protects flags, level, generation, conn_cnt, *_list */ - cfs_spinlock_t imp_lock; + spinlock_t imp_lock; /* flags */ unsigned long imp_no_timeout:1, /* timeouts are disabled */ @@ -264,6 +264,7 @@ struct obd_import { imp_pingable:1, /* pingable */ imp_resend_replay:1, /* resend for replay */ imp_no_pinger_recover:1,/* disable normal recovery, for test only. */ + imp_need_mne_swab:1, /* need IR MNE swab */ imp_force_reconnect:1; /* import must be reconnected instead of chouse new connection */ __u32 imp_connect_op; struct obd_connect_data imp_connect_data; @@ -315,13 +316,16 @@ static inline unsigned int at_timeout2est(unsigned int val) 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_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)); + 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) {