+2002-10-10 Phil Schwan <phil@clusterfs.com>
+ * version v0_5_14
+ * bug fixes:
+ - recovery deadlock fix
+ - rm -rf causes LBUG fix (617817)
+ - file open by multiple tasks fix (618962)
+ - directory permissions bugs (602707 and 620007)
+ - journal_stop fixed with locking (611313)
+ - O_APPEND failures resolved (618273, perhaps 614459)
+ - lconf PATH fix (619770)
+ - IA64 build fix (621450)
+ - RPC buffer sizes scale with amount of memory
+
2002-10-01 Phil Schwan <phil@clusterfs.com>
* version v0_5_13
* bug fixes:
if (lock->l_random != handle->cookie) {
CERROR("bogus cookie: lock "LPX64", handle "LPX64"\n",
lock->l_random, handle->cookie);
- GOTO(out, NULL);
+ GOTO(out2, NULL);
}
if (!lock->l_resource) {
CERROR("trying to lock bogus resource: lock %p\n", lock);
static struct list_head waiting_locks_list;
static spinlock_t waiting_locks_spinlock;
static struct timer_list waiting_locks_timer;
+static int ldlm_already_setup = 0;
static void waiting_locks_callback(unsigned long unused)
{
int rc, i;
ENTRY;
+ if (ldlm_already_setup)
+ RETURN(-EALREADY);
+
MOD_INC_USE_COUNT;
/*
rc = ldlm_proc_setup(obddev);
waiting_locks_timer.data = 0;
init_timer(&waiting_locks_timer);
+ ldlm_already_setup = 1;
+
RETURN(0);
out_thread:
ptlrpc_unregister_service(ldlm->ldlm_service);
/* ldlm_proc_cleanup(obddev); */
+ ldlm_already_setup = 0;
MOD_DEC_USE_COUNT;
RETURN(0);
}