Whamcloud - gitweb
LU-13456 ldlm: fix reprocessing of locks with more bits
[fs/lustre-release.git] / lustre / ldlm / ldlm_internal.h
index 44b944c..517ab60 100644 (file)
@@ -27,7 +27,6 @@
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
  */
 /*
  * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
  */
 
 extern int ldlm_srv_namespace_nr;
  */
 
 extern int ldlm_srv_namespace_nr;
@@ -94,17 +93,6 @@ void ldlm_namespace_move_to_inactive_locked(struct ldlm_namespace *,
 struct ldlm_namespace *ldlm_namespace_first_locked(enum ldlm_side);
 
 /* ldlm_request.c */
 struct ldlm_namespace *ldlm_namespace_first_locked(enum ldlm_side);
 
 /* ldlm_request.c */
-/* Cancel lru flag, it indicates we cancel aged locks. */
-enum ldlm_lru_flags {
-       LDLM_LRU_FLAG_NO_WAIT   = 0x1, /* Cancel locks w/o blocking (neither
-                                       * sending nor waiting for any RPCs) */
-       LDLM_LRU_FLAG_CLEANUP   = 0x2, /* Used when clearing lru, tells
-                                       * prepare_lru_list to set discard flag
-                                       * on PR extent locks so we don't waste
-                                       * time saving pages that will be
-                                       * discarded momentarily */
-};
-
 int ldlm_cancel_lru(struct ldlm_namespace *ns, int min,
                    enum ldlm_cancel_flags cancel_flags,
                    enum ldlm_lru_flags lru_flags);
 int ldlm_cancel_lru(struct ldlm_namespace *ns, int min,
                    enum ldlm_cancel_flags cancel_flags,
                    enum ldlm_lru_flags lru_flags);
@@ -155,8 +143,7 @@ void ldlm_add_ast_work_item(struct ldlm_lock *lock, struct ldlm_lock *new,
 #ifdef HAVE_SERVER_SUPPORT
 int ldlm_reprocess_queue(struct ldlm_resource *res, struct list_head *queue,
                         struct list_head *work_list,
 #ifdef HAVE_SERVER_SUPPORT
 int ldlm_reprocess_queue(struct ldlm_resource *res, struct list_head *queue,
                         struct list_head *work_list,
-                        enum ldlm_process_intention intention,
-                        struct ldlm_lock *hint);
+                        enum ldlm_process_intention intention, __u64 hint);
 int ldlm_handle_conflict_lock(struct ldlm_lock *lock, __u64 *flags,
                              struct list_head *rpc_list);
 void ldlm_discard_bl_list(struct list_head *bl_list);
 int ldlm_handle_conflict_lock(struct ldlm_lock *lock, __u64 *flags,
                              struct list_head *rpc_list);
 void ldlm_discard_bl_list(struct list_head *bl_list);
@@ -185,6 +172,7 @@ int ldlm_bl_to_thread_list(struct ldlm_namespace *ns,
                           struct ldlm_lock_desc *ld,
                           struct list_head *cancels, int count,
                           enum ldlm_cancel_flags cancel_flags);
                           struct ldlm_lock_desc *ld,
                           struct list_head *cancels, int count,
                           enum ldlm_cancel_flags cancel_flags);
+int ldlm_bl_to_thread_ns(struct ldlm_namespace *ns);
 int ldlm_bl_thread_wakeup(void);
 
 void ldlm_handle_bl_callback(struct ldlm_namespace *ns,
 int ldlm_bl_thread_wakeup(void);
 
 void ldlm_handle_bl_callback(struct ldlm_namespace *ns,
@@ -206,7 +194,7 @@ int ldlm_reprocess_inodebits_queue(struct ldlm_resource *res,
                                   struct list_head *queue,
                                   struct list_head *work_list,
                                   enum ldlm_process_intention intention,
                                   struct list_head *queue,
                                   struct list_head *work_list,
                                   enum ldlm_process_intention intention,
-                                  struct ldlm_lock *hint);
+                                  __u64 hint);
 /* ldlm_extent.c */
 int ldlm_process_extent_lock(struct ldlm_lock *lock, __u64 *flags,
                             enum ldlm_process_intention intention,
 /* ldlm_extent.c */
 int ldlm_process_extent_lock(struct ldlm_lock *lock, __u64 *flags,
                             enum ldlm_process_intention intention,
@@ -218,7 +206,7 @@ void ldlm_extent_unlink_lock(struct ldlm_lock *lock);
 
 int ldlm_inodebits_alloc_lock(struct ldlm_lock *lock);
 void ldlm_inodebits_add_lock(struct ldlm_resource *res, struct list_head *head,
 
 int ldlm_inodebits_alloc_lock(struct ldlm_lock *lock);
 void ldlm_inodebits_add_lock(struct ldlm_resource *res, struct list_head *head,
-                            struct ldlm_lock *lock);
+                            struct ldlm_lock *lock, bool tail);
 void ldlm_inodebits_unlink_lock(struct ldlm_lock *lock);
 
 /* ldlm_flock.c */
 void ldlm_inodebits_unlink_lock(struct ldlm_lock *lock);
 
 /* ldlm_flock.c */