Whamcloud - gitweb
LU-4423 selftest: use jiffies_to_*() instead of cfs_duration_usec
[fs/lustre-release.git] / lnet / selftest / framework.c
index 45a926a..032d95e 100644 (file)
  *
  * You should have received a copy of the GNU General Public License
  * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
  * GPL HEADER END
  */
@@ -27,7 +23,7 @@
  * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
  *
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2016, Intel Corporation.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
 
 #include "selftest.h"
 
-lst_sid_t LST_INVALID_SID = {LNET_NID_ANY, -1};
+struct lst_sid LST_INVALID_SID = { .ses_nid = LNET_NID_ANY, .ses_stamp = -1};
 
 static int session_timeout = 100;
-CFS_MODULE_PARM(session_timeout, "i", int, 0444,
-                "test session timeout in seconds (100 by default, 0 == never)");
+module_param(session_timeout, int, 0444);
+MODULE_PARM_DESC(session_timeout, "test session timeout in seconds (100 by default, 0 == never)");
 
 static int rpc_timeout = 64;
-CFS_MODULE_PARM(rpc_timeout, "i", int, 0644,
-                "rpc timeout in seconds (64 by default, 0 == never)");
+module_param(rpc_timeout, int, 0644);
+MODULE_PARM_DESC(rpc_timeout, "rpc timeout in seconds (64 by default, 0 == never)");
 
 #define sfw_unpack_id(id)               \
 do {                                    \
@@ -103,7 +99,7 @@ do {                                    \
 #define sfw_test_active(t)      (atomic_read(&(t)->tsi_nactive) != 0)
 #define sfw_batch_active(b)     (atomic_read(&(b)->bat_nactive) != 0)
 
-struct smoketest_framework {
+static struct smoketest_framework {
        /* RPCs to be recycled */
        struct list_head        fw_zombie_rpcs;
        /* stopping sessions */
@@ -157,7 +153,6 @@ sfw_register_test (srpc_service_t *service, sfw_test_client_ops_t *cliops)
         if (tsc == NULL)
                 return -ENOMEM;
 
-        memset(tsc, 0, sizeof(sfw_test_case_t));
         tsc->tsc_cli_ops     = cliops;
         tsc->tsc_srv_service = service;
 
@@ -165,7 +160,7 @@ sfw_register_test (srpc_service_t *service, sfw_test_client_ops_t *cliops)
        return 0;
 }
 
-void
+static void
 sfw_add_session_timer (void)
 {
         sfw_session_t *sn = sfw_data.fw_session;
@@ -179,13 +174,12 @@ sfw_add_session_timer (void)
         LASSERT (!sn->sn_timer_active);
 
         sn->sn_timer_active = 1;
-        timer->stt_expires = cfs_time_add(sn->sn_timeout,
-                                          cfs_time_current_sec());
+       timer->stt_expires = ktime_get_real_seconds()+ sn->sn_timeout;
         stt_add_timer(timer);
         return;
 }
 
-int
+static int
 sfw_del_session_timer (void)
 {
         sfw_session_t *sn = sfw_data.fw_session;
@@ -200,16 +194,13 @@ sfw_del_session_timer (void)
                 return 0;
         }
 
-#ifndef __KERNEL__
-        /* Racing is impossible in single-threaded userland selftest */
-        LBUG();
-#endif
         return EBUSY; /* racing with sfw_session_expired() */
 }
 
 /* called with sfw_data.fw_lock held */
 static void
 sfw_deactivate_session (void)
+__must_hold(&sfw_data.fw_lock)
 {
         sfw_session_t *sn = sfw_data.fw_session;
         int            nactive = 0;
@@ -250,17 +241,8 @@ sfw_deactivate_session (void)
        spin_lock(&sfw_data.fw_lock);
 }
 
-#ifndef __KERNEL__
-
-int
-sfw_session_removed (void)
-{
-        return (sfw_data.fw_session == NULL) ? 1 : 0;
-}
 
-#endif
-
-void
+static void
 sfw_session_expired (void *data)
 {
        sfw_session_t *sn = data;
@@ -270,7 +252,7 @@ sfw_session_expired (void *data)
         LASSERT (sn->sn_timer_active);
         LASSERT (sn == sfw_data.fw_session);
 
-        CWARN ("Session expired! sid: %s-"LPU64", name: %s\n",
+       CWARN ("Session expired! sid: %s-%llu, name: %s\n",
                libcfs_nid2str(sn->sn_id.ses_nid),
                sn->sn_id.ses_stamp, &sn->sn_name[0]);
 
@@ -281,7 +263,7 @@ sfw_session_expired (void *data)
 }
 
 static inline void
-sfw_init_session(sfw_session_t *sn, lst_sid_t sid,
+sfw_init_session(sfw_session_t *sn, struct lst_sid sid,
                 unsigned features, const char *name)
 {
         stt_timer_t *timer = &sn->sn_timer;
@@ -306,7 +288,7 @@ sfw_init_session(sfw_session_t *sn, lst_sid_t sid,
 }
 
 /* completion handler for incoming framework RPCs */
-void
+static void
 sfw_server_rpc_done(struct srpc_server_rpc *rpc)
 {
        struct srpc_service     *sv     = rpc->srpc_scd->scd_svc;
@@ -324,15 +306,12 @@ sfw_server_rpc_done(struct srpc_server_rpc *rpc)
         return;
 }
 
-void
+static void
 sfw_client_rpc_fini (srpc_client_rpc_t *rpc)
 {
        LASSERT(rpc->crpc_bulk.bk_niov == 0);
        LASSERT(list_empty(&rpc->crpc_list));
        LASSERT(atomic_read(&rpc->crpc_refcount) == 0);
-#ifndef __KERNEL__
-       LASSERT(rpc->crpc_bulk.bk_pages == NULL);
-#endif
 
        CDEBUG(D_NET, "Outgoing framework RPC done: "
               "service %d, peer %s, status %s:%d:%d\n",
@@ -349,8 +328,8 @@ sfw_client_rpc_fini (srpc_client_rpc_t *rpc)
        spin_unlock(&sfw_data.fw_lock);
 }
 
-sfw_batch_t *
-sfw_find_batch (lst_bid_t bid)
+static sfw_batch_t *
+sfw_find_batch(struct lst_bid bid)
 {
        sfw_session_t *sn = sfw_data.fw_session;
        sfw_batch_t   *bat;
@@ -365,8 +344,8 @@ sfw_find_batch (lst_bid_t bid)
        return NULL;
 }
 
-sfw_batch_t *
-sfw_bid2batch (lst_bid_t bid)
+static sfw_batch_t *
+sfw_bid2batch(struct lst_bid bid)
 {
         sfw_session_t *sn = sfw_data.fw_session;
         sfw_batch_t   *bat;
@@ -378,7 +357,7 @@ sfw_bid2batch (lst_bid_t bid)
                 return bat;
 
         LIBCFS_ALLOC(bat, sizeof(sfw_batch_t));
-        if (bat == NULL) 
+       if (bat == NULL)
                 return NULL;
 
        bat->bat_error   = 0;
@@ -391,13 +370,12 @@ sfw_bid2batch (lst_bid_t bid)
        return bat;
 }
 
-int
+static int
 sfw_get_stats (srpc_stat_reqst_t *request, srpc_stat_reply_t *reply)
 {
         sfw_session_t  *sn = sfw_data.fw_session;
-        sfw_counters_t *cnt = &reply->str_fw;
+       struct sfw_counters *cnt = &reply->str_fw;
         sfw_batch_t    *bat;
-        struct timeval  tv;
 
         reply->str_sid = (sn == NULL) ? LST_INVALID_SID : sn->sn_id;
 
@@ -416,10 +394,7 @@ sfw_get_stats (srpc_stat_reqst_t *request, srpc_stat_reply_t *reply)
 
         /* send over the msecs since the session was started
          - with 32 bits to send, this is ~49 days */
-        cfs_duration_usec(cfs_time_sub(cfs_time_current(),
-                                       sn->sn_started), &tv);
-
-        cnt->running_ms      = (__u32)(tv.tv_sec * 1000 + tv.tv_usec / 1000);
+       cnt->running_ms      = jiffies_to_msecs(jiffies - sn->sn_started);
        cnt->brw_errors      = atomic_read(&sn->sn_brw_errors);
        cnt->ping_errors     = atomic_read(&sn->sn_ping_errors);
        cnt->zombie_sessions = atomic_read(&sfw_data.fw_nzombies);
@@ -479,12 +454,12 @@ sfw_make_session(srpc_mksn_reqst_t *request, srpc_mksn_reply_t *reply)
                return 0;
        }
 
-        /* brand new or create by force */
-        LIBCFS_ALLOC(sn, sizeof(sfw_session_t));
-        if (sn == NULL) {
-                CERROR ("Dropping RPC (mksn) under memory pressure.\n");
-                return -ENOMEM;
-        }
+       /* brand new or create by force */
+       LIBCFS_ALLOC(sn, sizeof(sfw_session_t));
+       if (sn == NULL) {
+               CERROR("dropping RPC mksn under memory pressure\n");
+               return -ENOMEM;
+       }
 
        sfw_init_session(sn, request->mksn_sid,
                         msg->msg_ses_feats, &request->mksn_name[0]);
@@ -503,7 +478,7 @@ sfw_make_session(srpc_mksn_reqst_t *request, srpc_mksn_reply_t *reply)
        return 0;
 }
 
-int
+static int
 sfw_remove_session (srpc_rmsn_reqst_t *request, srpc_rmsn_reply_t *reply)
 {
         sfw_session_t *sn = sfw_data.fw_session;
@@ -535,7 +510,7 @@ sfw_remove_session (srpc_rmsn_reqst_t *request, srpc_rmsn_reply_t *reply)
        return 0;
 }
 
-int
+static int
 sfw_debug_session (srpc_debug_reqst_t *request, srpc_debug_reply_t *reply)
 {
         sfw_session_t *sn = sfw_data.fw_session;
@@ -544,7 +519,7 @@ sfw_debug_session (srpc_debug_reqst_t *request, srpc_debug_reply_t *reply)
                 reply->dbg_status = ESRCH;
                 reply->dbg_sid    = LST_INVALID_SID;
                 return 0;
-        } 
+       }
 
        reply->dbg_status  = 0;
        reply->dbg_sid     = sn->sn_id;
@@ -556,7 +531,7 @@ sfw_debug_session (srpc_debug_reqst_t *request, srpc_debug_reply_t *reply)
         return 0;
 }
 
-void
+static void
 sfw_test_rpc_fini (srpc_client_rpc_t *rpc)
 {
        sfw_test_unit_t     *tsu = rpc->crpc_priv;
@@ -584,7 +559,7 @@ sfw_test_buffers(sfw_test_instance_t *tsi)
        return max(SFW_TEST_WI_MIN, nbuf + SFW_TEST_WI_EXTRA);
 }
 
-int
+static int
 sfw_load_test(struct sfw_test_instance *tsi)
 {
        struct sfw_test_case    *tsc;
@@ -621,7 +596,7 @@ sfw_load_test(struct sfw_test_instance *tsi)
        return 0;
 }
 
-void
+static void
 sfw_unload_test(struct sfw_test_instance *tsi)
 {
        struct sfw_test_case *tsc;
@@ -641,7 +616,7 @@ sfw_unload_test(struct sfw_test_instance *tsi)
        return;
 }
 
-void
+static void
 sfw_destroy_test_instance (sfw_test_instance_t *tsi)
 {
         srpc_client_rpc_t *rpc;
@@ -675,7 +650,7 @@ clean:
        return;
 }
 
-void
+static void
 sfw_destroy_batch (sfw_batch_t *tsb)
 {
        sfw_test_instance_t *tsi;
@@ -714,7 +689,7 @@ sfw_destroy_session (sfw_session_t *sn)
        return;
 }
 
-void
+static void
 sfw_unpack_addtest_req(srpc_msg_t *msg)
 {
         srpc_test_reqst_t *req = &msg->msg_body.tes_reqst;
@@ -759,7 +734,7 @@ sfw_unpack_addtest_req(srpc_msg_t *msg)
        return;
 }
 
-int
+static int
 sfw_add_test_instance (sfw_batch_t *tsb, srpc_server_rpc_t *rpc)
 {
         srpc_msg_t          *msg = &rpc->srpc_reqstbuf->buf_msg;
@@ -773,12 +748,11 @@ sfw_add_test_instance (sfw_batch_t *tsb, srpc_server_rpc_t *rpc)
 
         LIBCFS_ALLOC(tsi, sizeof(*tsi));
         if (tsi == NULL) {
-                CERROR ("Can't allocate test instance for batch: "LPU64"\n",
+               CERROR ("Can't allocate test instance for batch: %llu\n",
                         tsb->bat_id.bat_id);
                 return -ENOMEM;
         }
 
-        memset(tsi, 0, sizeof(*tsi));
        spin_lock_init(&tsi->tsi_lock);
        atomic_set(&tsi->tsi_nactive, 0);
        INIT_LIST_HEAD(&tsi->tsi_units);
@@ -808,27 +782,20 @@ sfw_add_test_instance (sfw_batch_t *tsb, srpc_server_rpc_t *rpc)
        }
 
         LASSERT (bk != NULL);
-#ifndef __KERNEL__
-        LASSERT (bk->bk_pages != NULL);
-#endif
         LASSERT (bk->bk_niov * SFW_ID_PER_PAGE >= (unsigned int)ndest);
        LASSERT((unsigned int)bk->bk_len >=
-               sizeof(lnet_process_id_packed_t) * ndest);
+               sizeof(struct lnet_process_id_packed) * ndest);
 
        sfw_unpack_addtest_req(msg);
         memcpy(&tsi->tsi_u, &req->tsr_u, sizeof(tsi->tsi_u));
 
         for (i = 0; i < ndest; i++) {
-                lnet_process_id_packed_t *dests;
-                lnet_process_id_packed_t  id;
+               struct lnet_process_id_packed *dests;
+               struct lnet_process_id_packed  id;
                 int                       j;
 
-#ifdef __KERNEL__
                dests = page_address(bk->bk_iovs[i / SFW_ID_PER_PAGE].kiov_page);
                LASSERT (dests != NULL);  /* my pages are within KVM always */
-#else
-               dests = page_address(bk->bk_pages[i / SFW_ID_PER_PAGE]);
-#endif
                 id = dests[i % SFW_ID_PER_PAGE];
                 if (msg->msg_magic != SRPC_MSG_MAGIC)
                         sfw_unpack_id(id);
@@ -905,7 +872,7 @@ sfw_test_unit_done (sfw_test_unit_t *tsu)
        return;
 }
 
-void
+static void
 sfw_test_rpc_done (srpc_client_rpc_t *rpc)
 {
         sfw_test_unit_t     *tsu = rpc->crpc_priv;
@@ -942,7 +909,7 @@ sfw_test_rpc_done (srpc_client_rpc_t *rpc)
 }
 
 int
-sfw_create_test_rpc(sfw_test_unit_t *tsu, lnet_process_id_t peer,
+sfw_create_test_rpc(sfw_test_unit_t *tsu, struct lnet_process_id peer,
                    unsigned features, int nblk, int blklen,
                    srpc_client_rpc_t **rpcpp)
 {
@@ -984,7 +951,7 @@ sfw_create_test_rpc(sfw_test_unit_t *tsu, lnet_process_id_t peer,
        return 0;
 }
 
-int
+static int
 sfw_run_test (swi_workitem_t *wi)
 {
         sfw_test_unit_t     *tsu = wi->swi_workitem.wi_data;
@@ -1033,7 +1000,7 @@ test_done:
        return 1;
 }
 
-int
+static int
 sfw_run_batch (sfw_batch_t *tsb)
 {
         swi_workitem_t      *wi;
@@ -1041,7 +1008,7 @@ sfw_run_batch (sfw_batch_t *tsb)
         sfw_test_instance_t *tsi;
 
         if (sfw_batch_active(tsb)) {
-                CDEBUG(D_NET, "Batch already active: "LPU64" (%d)\n",
+               CDEBUG(D_NET, "Batch already active: %llu (%d)\n",
                       tsb->bat_id.bat_id, atomic_read(&tsb->bat_nactive));
                 return 0;
         }
@@ -1061,7 +1028,8 @@ sfw_run_batch (sfw_batch_t *tsb)
                        wi = &tsu->tsu_worker;
                        swi_init_workitem(wi, tsu, sfw_run_test,
                                          lst_sched_test[\
-                                         lnet_cpt_of_nid(tsu->tsu_dest.nid)]);
+                                         lnet_cpt_of_nid(tsu->tsu_dest.nid,
+                                                         NULL)]);
                        swi_schedule_workitem(wi);
                }
        }
@@ -1076,7 +1044,7 @@ sfw_stop_batch (sfw_batch_t *tsb, int force)
         srpc_client_rpc_t   *rpc;
 
         if (!sfw_batch_active(tsb)) {
-                CDEBUG(D_NET, "Batch "LPU64" inactive\n", tsb->bat_id.bat_id);
+               CDEBUG(D_NET, "Batch %llu inactive\n", tsb->bat_id.bat_id);
                 return 0;
         }
 
@@ -1111,7 +1079,7 @@ sfw_stop_batch (sfw_batch_t *tsb, int force)
        return 0;
 }
 
-int
+static int
 sfw_query_batch (sfw_batch_t *tsb, int testidx, srpc_batch_reply_t *reply)
 {
         sfw_test_instance_t *tsi;
@@ -1149,14 +1117,14 @@ sfw_alloc_pages(struct srpc_server_rpc *rpc, int cpt, int npages, int len,
        LASSERT(rpc->srpc_bulk == NULL);
        LASSERT(npages > 0 && npages <= LNET_MAX_IOV);
 
-       rpc->srpc_bulk = srpc_alloc_bulk(cpt, npages, len, sink);
+       rpc->srpc_bulk = srpc_alloc_bulk(cpt, 0, npages, len, sink);
        if (rpc->srpc_bulk == NULL)
                return -ENOMEM;
 
        return 0;
 }
 
-int
+static int
 sfw_add_test (srpc_server_rpc_t *rpc)
 {
         sfw_session_t     *sn = sfw_data.fw_session;
@@ -1186,9 +1154,9 @@ sfw_add_test (srpc_server_rpc_t *rpc)
                 return 0;
         }
 
-        bat = sfw_bid2batch(request->tsr_bid);
-        if (bat == NULL) {
-                CERROR ("Dropping RPC (%s) from %s under memory pressure.\n",
+       bat = sfw_bid2batch(request->tsr_bid);
+       if (bat == NULL) {
+               CERROR("dropping RPC %s from %s under memory pressure\n",
                        rpc->srpc_scd->scd_svc->sv_name,
                         libcfs_id2str(rpc->srpc_peer));
                 return -ENOMEM;
@@ -1205,10 +1173,10 @@ sfw_add_test (srpc_server_rpc_t *rpc)
                int     len;
 
                if ((sn->sn_features & LST_FEAT_BULK_LEN) == 0) {
-                       len = npg * PAGE_CACHE_SIZE;
+                       len = npg * PAGE_SIZE;
 
                } else  {
-                       len = sizeof(lnet_process_id_packed_t) *
+                       len = sizeof(struct lnet_process_id_packed) *
                              request->tsr_ndest;
                }
 
@@ -1226,7 +1194,7 @@ sfw_add_test (srpc_server_rpc_t *rpc)
         return 0;
 }
 
-int
+static int
 sfw_control_batch (srpc_batch_reqst_t *request, srpc_batch_reply_t *reply)
 {
         sfw_session_t *sn = sfw_data.fw_session;
@@ -1267,7 +1235,7 @@ sfw_control_batch (srpc_batch_reqst_t *request, srpc_batch_reply_t *reply)
         return 0;
 }
 
-int
+static int
 sfw_handle_server_rpc(struct srpc_server_rpc *rpc)
 {
        struct srpc_service     *sv = rpc->srpc_scd->scd_svc;
@@ -1288,7 +1256,7 @@ sfw_handle_server_rpc(struct srpc_server_rpc *rpc)
 
        /* Remove timer to avoid racing with it or expiring active session */
        if (sfw_del_session_timer() != 0) {
-               CERROR("Dropping RPC (%s) from %s: racing with expiry timer.",
+               CERROR("dropping RPC %s from %s: racing with expiry timer\n",
                       sv->sv_name, libcfs_id2str(rpc->srpc_peer));
                spin_unlock(&sfw_data.fw_lock);
                return -EAGAIN;
@@ -1365,20 +1333,15 @@ sfw_handle_server_rpc(struct srpc_server_rpc *rpc)
        rpc->srpc_done = sfw_server_rpc_done;
        spin_lock(&sfw_data.fw_lock);
 
-#ifdef __KERNEL__
        if (!sfw_data.fw_shuttingdown)
                sfw_add_session_timer();
-#else
-       LASSERT(!sfw_data.fw_shuttingdown);
-       sfw_add_session_timer();
-#endif
 
        sfw_data.fw_active_srpc = NULL;
        spin_unlock(&sfw_data.fw_lock);
        return rc;
 }
 
-int
+static int
 sfw_bulk_ready(struct srpc_server_rpc *rpc, int status)
 {
        struct srpc_service     *sv = rpc->srpc_scd->scd_svc;
@@ -1405,7 +1368,7 @@ sfw_bulk_ready(struct srpc_server_rpc *rpc, int status)
        }
 
        if (sfw_del_session_timer() != 0) {
-               CERROR("Dropping RPC (%s) from %s: racing with expiry timer",
+               CERROR("dropping RPC %s from %s: racing with expiry timer\n",
                       sv->sv_name, libcfs_id2str(rpc->srpc_peer));
                spin_unlock(&sfw_data.fw_lock);
                return -EAGAIN;
@@ -1418,13 +1381,8 @@ sfw_bulk_ready(struct srpc_server_rpc *rpc, int status)
 
        spin_lock(&sfw_data.fw_lock);
 
-#ifdef __KERNEL__
        if (!sfw_data.fw_shuttingdown)
                sfw_add_session_timer();
-#else
-       LASSERT(!sfw_data.fw_shuttingdown);
-       sfw_add_session_timer();
-#endif
 
        sfw_data.fw_active_srpc = NULL;
        spin_unlock(&sfw_data.fw_lock);
@@ -1432,7 +1390,7 @@ sfw_bulk_ready(struct srpc_server_rpc *rpc, int status)
 }
 
 srpc_client_rpc_t *
-sfw_create_rpc(lnet_process_id_t peer, int service,
+sfw_create_rpc(struct lnet_process_id peer, int service,
               unsigned features, int nbulkiov, int bulklen,
               void (*done)(srpc_client_rpc_t *), void *priv)
 {
@@ -1641,7 +1599,7 @@ sfw_post_rpc (srpc_client_rpc_t *rpc)
        return;
 }
 
-static srpc_service_t sfw_services[] = 
+static srpc_service_t sfw_services[] =
 {
         {
                 /* sv_id */    SRPC_SERVICE_DEBUG,
@@ -1680,17 +1638,6 @@ static srpc_service_t sfw_services[] =
         }
 };
 
-extern sfw_test_client_ops_t ping_test_client;
-extern srpc_service_t        ping_test_service;
-extern void ping_init_test_client(void);
-extern void ping_init_test_service(void);
-
-extern sfw_test_client_ops_t brw_test_client;
-extern srpc_service_t        brw_test_service;
-extern void brw_init_test_client(void);
-extern void brw_init_test_service(void);
-
-
 int
 sfw_startup (void)
 {
@@ -1700,15 +1647,6 @@ sfw_startup (void)
         srpc_service_t  *sv;
         sfw_test_case_t *tsc;
 
-#ifndef __KERNEL__
-        char *s;
-
-        s = getenv("SESSION_TIMEOUT");
-        session_timeout = s != NULL ? atoi(s) : session_timeout;
-
-        s = getenv("RPC_TIMEOUT");
-        rpc_timeout = s != NULL ? atoi(s) : rpc_timeout;
-#endif
 
         if (session_timeout < 0) {
                 CERROR ("Session timeout must be non-negative: %d\n",
@@ -1808,12 +1746,8 @@ sfw_shutdown (void)
        spin_lock(&sfw_data.fw_lock);
 
         sfw_data.fw_shuttingdown = 1;
-#ifdef __KERNEL__
         lst_wait_until(sfw_data.fw_active_srpc == NULL, sfw_data.fw_lock,
                        "waiting for active RPC to finish.\n");
-#else
-        LASSERT (sfw_data.fw_active_srpc == NULL);
-#endif
 
         if (sfw_del_session_timer() != 0)
                 lst_wait_until(sfw_data.fw_session == NULL, sfw_data.fw_lock,