Whamcloud - gitweb
LU-6401 header: remove assert from interval_set()
[fs/lustre-release.git] / lustre / llite / range_lock.c
index 27fbbef..ead9321 100644 (file)
@@ -61,17 +61,23 @@ void range_lock_tree_init(struct range_lock_tree *tree)
  * Pre:  Caller should have allocated the range lock node.
  * Post: The range lock node is meant to cover [start, end] region
  */
-void range_lock_init(struct range_lock *lock, __u64 start, __u64 end)
+int range_lock_init(struct range_lock *lock, __u64 start, __u64 end)
 {
+       int rc;
+
        interval_init(&lock->rl_node);
        if (end != LUSTRE_EOF)
                end >>= PAGE_SHIFT;
-       interval_set(&lock->rl_node, start >> PAGE_SHIFT, end);
+       rc = interval_set(&lock->rl_node, start >> PAGE_SHIFT, end);
+       if (rc)
+               return rc;
+
        INIT_LIST_HEAD(&lock->rl_next_lock);
        lock->rl_task = NULL;
        lock->rl_lock_count = 0;
        lock->rl_blocking_ranges = 0;
        lock->rl_sequence = 0;
+       return rc;
 }
 
 static inline struct range_lock *next_lock(struct range_lock *lock)