Whamcloud - gitweb
Revert "LU-1756 kernel: cleanup lustre_compat25.h"
[fs/lustre-release.git] / lustre / llite / llite_capa.c
index 7fcd704..8ac120d 100644 (file)
@@ -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) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
  * Use is subject to license terms.
+ *
+ * Copyright (c) 2012, Whamcloud, Inc.
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
@@ -119,11 +119,6 @@ static inline int have_expired_capa(void)
         return expired;
 }
 
-static inline int ll_capa_check_stop(void)
-{
-        return (ll_capa_thread.t_flags & SVC_STOPPING) ? 1: 0;
-}
-
 static void sort_add_capa(struct obd_capa *ocapa, cfs_list_t *head)
 {
         struct obd_capa *tmp;
@@ -168,7 +163,7 @@ static void ll_delete_capa(struct obd_capa *ocapa)
 /* three places where client capa is deleted:
  * 1. capa_thread_main(), main place to delete expired capa.
  * 2. ll_clear_inode_capas() in ll_clear_inode().
- * 3. ll_truncate_free_capa() delete truncate capa explicitly in ll_truncate().
+ * 3. ll_truncate_free_capa() delete truncate capa explicitly in ll_setattr_ost().
  */
 static int capa_thread_main(void *unused)
 {
@@ -180,15 +175,16 @@ static int capa_thread_main(void *unused)
 
         cfs_daemonize("ll_capa");
 
-        ll_capa_thread.t_flags = SVC_RUNNING;
+        thread_set_flags(&ll_capa_thread, SVC_RUNNING);
         cfs_waitq_signal(&ll_capa_thread.t_ctl_waitq);
 
         while (1) {
                 l_wait_event(ll_capa_thread.t_ctl_waitq,
-                             (ll_capa_check_stop() || have_expired_capa()),
+                             !thread_is_running(&ll_capa_thread) ||
+                             have_expired_capa(),
                              &lwi);
 
-                if (ll_capa_check_stop())
+                if (!thread_is_running(&ll_capa_thread))
                         break;
 
                 next = NULL;
@@ -285,7 +281,7 @@ static int capa_thread_main(void *unused)
                 cfs_spin_unlock(&capa_lock);
         }
 
-        ll_capa_thread.t_flags = SVC_STOPPED;
+        thread_set_flags(&ll_capa_thread, SVC_STOPPED);
         cfs_waitq_signal(&ll_capa_thread.t_ctl_waitq);
         RETURN(0);
 }
@@ -308,17 +304,17 @@ int ll_capa_thread_start(void)
                 RETURN(rc);
         }
         cfs_wait_event(ll_capa_thread.t_ctl_waitq,
-                       ll_capa_thread.t_flags & SVC_RUNNING);
+                       thread_is_running(&ll_capa_thread));
 
         RETURN(0);
 }
 
 void ll_capa_thread_stop(void)
 {
-        ll_capa_thread.t_flags = SVC_STOPPING;
+        thread_set_flags(&ll_capa_thread, SVC_STOPPING);
         cfs_waitq_signal(&ll_capa_thread.t_ctl_waitq);
         cfs_wait_event(ll_capa_thread.t_ctl_waitq,
-                       ll_capa_thread.t_flags & SVC_STOPPED);
+                       thread_is_stopped(&ll_capa_thread));
 }
 
 struct obd_capa *ll_osscapa_get(struct inode *inode, __u64 opc)