Whamcloud - gitweb
LU-2800 autoconf: move LC_BLK_QUEUE_MAX_SEGMENTS test
[fs/lustre-release.git] / lustre / quota / qsd_lib.c
index 0a7e75a..253f6b4 100644 (file)
@@ -21,7 +21,7 @@
  * GPL HEADER END
  */
 /*
- * Copyright (c) 2012, Intel Corporation.
+ * Copyright (c) 2012, 2013, Intel Corporation.
  * Use is subject to license terms.
  *
  * Author: Johann Lombardi <johann.lombardi@intel.com>
  * freed via qsd_fini().
  */
 
-#ifndef EXPORT_SYMTAB
-# define EXPORT_SYMTAB
-#endif
-
 #define DEBUG_SUBSYSTEM S_LQUOTA
 
 #include <obd_class.h>
 #include "qsd_internal.h"
 
-cfs_mem_cache_t *upd_kmem;
+struct kmem_cache *upd_kmem;
 
 struct lu_kmem_descr qsd_caches[] = {
        {
@@ -235,8 +231,6 @@ static int qsd_conn_callback(void *data)
        /* qsd_exp should now be valid */
        LASSERT(qsd->qsd_exp);
 
-       /* grab reference on namespace */
-       ldlm_namespace_get(class_exp2obd(qsd->qsd_exp)->obd_namespace);
        qsd->qsd_ns = class_exp2obd(qsd->qsd_exp)->obd_namespace;
 
        write_lock(&qsd->qsd_lock);
@@ -253,7 +247,7 @@ static int qsd_conn_callback(void *data)
         * step 3) will have to wait for qsd_start() to be called */
        for (type = USRQUOTA; type < MAXQUOTAS; type++) {
                struct qsd_qtype_info *qqi = qsd->qsd_type_array[type];
-               cfs_waitq_signal(&qqi->qqi_reint_thread.t_ctl_waitq);
+               wake_up(&qqi->qqi_reint_thread.t_ctl_waitq);
        }
 
        RETURN(0);
@@ -358,7 +352,7 @@ static int qsd_qtype_init(const struct lu_env *env, struct qsd_instance *qsd,
        qqi->qqi_glb_uptodate = false;
        qqi->qqi_slv_uptodate = false;
        qqi->qqi_reint        = false;
-       cfs_waitq_init(&qqi->qqi_reint_thread.t_ctl_waitq);
+       init_waitqueue_head(&qqi->qqi_reint_thread.t_ctl_waitq);
        thread_set_flags(&qqi->qqi_reint_thread, SVC_STOPPED);
        CFS_INIT_LIST_HEAD(&qqi->qqi_deferred_glb);
        CFS_INIT_LIST_HEAD(&qqi->qqi_deferred_slv);
@@ -475,9 +469,7 @@ void qsd_fini(const struct lu_env *env, struct qsd_instance *qsd)
                qsd_stop_reint_thread(qsd->qsd_type_array[qtype]);
        }
 
-       /* release reference on namespace */
        if (qsd->qsd_ns != NULL) {
-               ldlm_namespace_put(qsd->qsd_ns);
                qsd->qsd_ns = NULL;
        }
 
@@ -554,7 +546,7 @@ struct qsd_instance *qsd_init(const struct lu_env *env, char *svname,
        rwlock_init(&qsd->qsd_lock);
        CFS_INIT_LIST_HEAD(&qsd->qsd_link);
        thread_set_flags(&qsd->qsd_upd_thread, SVC_STOPPED);
-       cfs_waitq_init(&qsd->qsd_upd_thread.t_ctl_waitq);
+       init_waitqueue_head(&qsd->qsd_upd_thread.t_ctl_waitq);
        CFS_INIT_LIST_HEAD(&qsd->qsd_upd_list);
        spin_lock_init(&qsd->qsd_adjust_lock);
        CFS_INIT_LIST_HEAD(&qsd->qsd_adjust_list);
@@ -770,7 +762,7 @@ int qsd_start(const struct lu_env *env, struct qsd_instance *qsd)
         * up to usage; If usage < granted, release down to usage.  */
        for (type = USRQUOTA; type < MAXQUOTAS; type++) {
                struct qsd_qtype_info   *qqi = qsd->qsd_type_array[type];
-               cfs_waitq_signal(&qqi->qqi_reint_thread.t_ctl_waitq);
+               wake_up(&qqi->qqi_reint_thread.t_ctl_waitq);
        }
 
        RETURN(rc);