removed cwd "./" (refer to Bugzilla 14399).
Severity : normal
+Bugzilla : 15825
+Description: Kernel BUG tries to release flock
+Details : Lustre does not destroy flock lock before last reference goes
+ away. So always drop flock locks when client is evicted and
+ perform unlock regardless of successfulness of speaking to MDS.
+
+Severity : normal
Bugzilla : 15210
Description: add recount protection for osc callbacks, so avoid panic on shutdown
struct ldlm_namespace *ns = lock->l_resource->lr_namespace;
lock->l_last_used = cfs_time_current();
LASSERT(list_empty(&lock->l_lru));
+ LASSERT(lock->l_resource->lr_type != LDLM_FLOCK);
list_add_tail(&lock->l_lru, &ns->ns_unused_list);
LASSERT(ns->ns_nr_unused >= 0);
ns->ns_nr_unused++;
rc = ldlm_cli_enqueue(sbi->ll_md_exp, NULL, &einfo, &res_id,
&flock, &flags, NULL, 0, NULL, &lockh, 0);
- if ((file_lock->fl_flags & FL_FLOCK) && (rc == 0))
+ if ((file_lock->fl_flags & FL_FLOCK) &&
+ (rc == 0 || file_lock->fl_type == F_UNLCK))
ll_flock_lock_file_wait(file, file_lock, (cmd == F_SETLKW));
#ifdef HAVE_F_OP_FLOCK
- if ((file_lock->fl_flags & FL_POSIX) && (rc == 0) &&
+ if ((file_lock->fl_flags & FL_POSIX) &&
+ (rc == 0 || file_lock->fl_type == F_UNLCK) &&
!(flags & LDLM_FL_TEST_LOCK))
posix_lock_file_wait(file, file_lock);
#endif