Whamcloud - gitweb
Branch HEAD
[fs/lustre-release.git] / lustre / ldlm / ldlm_flock.c
index 0db3d41..3abad6f 100644 (file)
@@ -134,7 +134,7 @@ ldlm_process_flock_lock(struct ldlm_lock *req, int *flags, int first_enq,
         struct ldlm_lock *new = req;
         struct ldlm_lock *new2 = NULL;
         ldlm_mode_t mode = req->l_req_mode;
-        int local = ns->ns_client;
+        int local = ns_is_client(ns);
         int added = (mode == LCK_NL);
         int overlaps = 0;
         ENTRY;
@@ -334,7 +334,7 @@ ldlm_process_flock_lock(struct ldlm_lock *req, int *flags, int first_enq,
                 /* XXX - if ldlm_lock_new() can sleep we should
                  * release the ns_lock, allocate the new lock,
                  * and restart processing this lock. */
-                new2 = ldlm_lock_create(ns, NULL, &res->lr_name, LDLM_FLOCK,
+                new2 = ldlm_lock_create(ns, &res->lr_name, LDLM_FLOCK,
                                         lock->l_granted_mode, NULL, NULL, NULL,
                                         NULL, 0);
                 if (!new2) {
@@ -399,7 +399,7 @@ restart:
                                                      &rpc_list);
 
                                 unlock_res(res);
-                                rc = ldlm_run_bl_ast_work(&rpc_list);
+                                rc = ldlm_run_ast_work(&rpc_list, LDLM_WORK_BL_AST);
                                 lock_res(res);
                                 if (rc == -ERESTART)
                                         GOTO(restart, -ERESTART);
@@ -431,6 +431,7 @@ ldlm_flock_interrupted_wait(void *data)
 {
         struct ldlm_lock *lock;
         struct lustre_handle lockh;
+        int rc;
         ENTRY;
 
         lock = ((struct ldlm_flock_wait_data *)data)->fwd_lock;
@@ -443,7 +444,10 @@ ldlm_flock_interrupted_wait(void *data)
 
         ldlm_lock_decref_internal(lock, lock->l_req_mode);
         ldlm_lock2handle(lock, &lockh);
-        ldlm_cli_cancel(&lockh);
+        rc = ldlm_cli_cancel(&lockh);
+        if (rc != ELDLM_OK)
+                CERROR("ldlm_cli_cancel: %d\n", rc);
+
         EXIT;
 }
 
@@ -523,8 +527,8 @@ granted:
                         cfs_flock_set_type(getlk, F_UNLCK);
                 }
                 cfs_flock_set_pid(getlk, (pid_t)lock->l_policy_data.l_flock.pid);
-                cfs_flock_set_start(getlk, (off_t)lock->l_policy_data.l_flock.start);
-                cfs_flock_set_end(getlk, (off_t)lock->l_policy_data.l_flock.end);
+                cfs_flock_set_start(getlk, (loff_t)lock->l_policy_data.l_flock.start);
+                cfs_flock_set_end(getlk, (loff_t)lock->l_policy_data.l_flock.end);
         } else {
                 int noreproc = LDLM_FL_WAIT_NOREPROC;