cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] cluster/gfs-kernel/src/dlm thread.c
@ 2006-12-08 17:31 teigland
  0 siblings, 0 replies; 4+ messages in thread
From: teigland @ 2006-12-08 17:31 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	teigland at sourceware.org	2006-12-08 17:31:32

Modified files:
	gfs-kernel/src/dlm: thread.c 

Log message:
	If the drop_count is disabled (set to 0) on a mounted fs, don't
	do a drop callback the first time through the function (fix for
	slight quirk in the last patch for bz 218795).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/dlm/thread.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.16.2.4&r2=1.16.2.5

--- cluster/gfs-kernel/src/dlm/Attic/thread.c	2006/12/08 17:27:37	1.16.2.4
+++ cluster/gfs-kernel/src/dlm/Attic/thread.c	2006/12/08 17:31:31	1.16.2.5
@@ -295,6 +295,8 @@
 	if (check_timeout(dlm->drop_time, dlm->drop_locks_period)) {
 		dlm->drop_time = jiffies;
 		dlm->drop_locks_count = lock_dlm_drop_count;
+		if (!dlm->drop_locks_count)
+			return FALSE;
 		if (atomic_read(&dlm->lock_count) >= dlm->drop_locks_count)
 			return TRUE;
 	}



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Cluster-devel] cluster/gfs-kernel/src/dlm thread.c
@ 2006-12-08 17:31 teigland
  0 siblings, 0 replies; 4+ messages in thread
From: teigland @ 2006-12-08 17:31 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	STABLE
Changes by:	teigland at sourceware.org	2006-12-08 17:31:41

Modified files:
	gfs-kernel/src/dlm: thread.c 

Log message:
	If the drop_count is disabled (set to 0) on a mounted fs, don't
	do a drop callback the first time through the function (fix for
	slight quirk in the last patch for bz 218795).

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/dlm/thread.c.diff?cvsroot=cluster&only_with_tag=STABLE&r1=1.16.2.3.6.1&r2=1.16.2.3.6.2

--- cluster/gfs-kernel/src/dlm/Attic/thread.c	2006/12/08 17:27:44	1.16.2.3.6.1
+++ cluster/gfs-kernel/src/dlm/Attic/thread.c	2006/12/08 17:31:41	1.16.2.3.6.2
@@ -295,6 +295,8 @@
 	if (check_timeout(dlm->drop_time, dlm->drop_locks_period)) {
 		dlm->drop_time = jiffies;
 		dlm->drop_locks_count = lock_dlm_drop_count;
+		if (!dlm->drop_locks_count)
+			return FALSE;
 		if (atomic_read(&dlm->lock_count) >= dlm->drop_locks_count)
 			return TRUE;
 	}



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Cluster-devel] cluster/gfs-kernel/src/dlm thread.c
@ 2007-08-31 15:23 teigland
  0 siblings, 0 replies; 4+ messages in thread
From: teigland @ 2007-08-31 15:23 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	teigland at sourceware.org	2007-08-31 15:23:33

Modified files:
	gfs-kernel/src/dlm: thread.c 

Log message:
	Check for a null lvb pointer before trying to memset the lvb to zero.
	I think there's a good chance this will fix bz 176838.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/dlm/thread.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.16.2.5&r2=1.16.2.6

--- cluster/gfs-kernel/src/dlm/Attic/thread.c	2006/12/08 17:31:31	1.16.2.5
+++ cluster/gfs-kernel/src/dlm/Attic/thread.c	2007/08/31 15:23:32	1.16.2.6
@@ -116,8 +116,13 @@
 		goto out;
 	}
 
-	if (lp->lksb.sb_flags & DLM_SBF_VALNOTVALID)
-		memset(lp->lksb.sb_lvbptr, 0, DLM_LVB_LEN);
+	if (lp->lksb.sb_flags & DLM_SBF_VALNOTVALID) {
+		if (lp->lksb.sb_lvbptr)
+			memset(lp->lksb.sb_lvbptr, 0, DLM_LVB_LEN);
+		else
+			log_all("no lvb for VALNOTVALID lkid %x",
+				lp->lksb.sb_lkid);
+	}
 
 	if (lp->lksb.sb_flags & DLM_SBF_ALTMODE) {
 		if (lp->req == DLM_LOCK_PR)



^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Cluster-devel] cluster/gfs-kernel/src/dlm thread.c
@ 2008-01-14 16:00 teigland
  0 siblings, 0 replies; 4+ messages in thread
From: teigland @ 2008-01-14 16:00 UTC (permalink / raw)
  To: cluster-devel.redhat.com

CVSROOT:	/cvs/cluster
Module name:	cluster
Branch: 	RHEL4
Changes by:	teigland at sourceware.org	2008-01-14 16:00:20

Modified files:
	gfs-kernel/src/dlm: thread.c 

Log message:
	bz 352731
	
	I've looked at other users of kthread_stop()/kthread_should_stop(),
	and most seem to incorporate a call to kthread_should_stop() within
	the test that adds the thread to a wait_queue.  I'm guessing that
	that's what we should be doing also (and at the same time using
	wait_event_interruptible() instead of an open-coded equivalent.)

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/cluster/gfs-kernel/src/dlm/thread.c.diff?cvsroot=cluster&only_with_tag=RHEL4&r1=1.16.2.6&r2=1.16.2.7

--- cluster/gfs-kernel/src/dlm/Attic/thread.c	2007/08/31 15:23:32	1.16.2.6
+++ cluster/gfs-kernel/src/dlm/Attic/thread.c	2008/01/14 16:00:20	1.16.2.7
@@ -330,15 +330,10 @@
 	dlm_lock_t *lp = NULL;
 	dlm_start_t *ds = NULL;
 	uint8_t complete, blocking, submit, start, finish, drop, shrink;
-	DECLARE_WAITQUEUE(wait, current);
 
 	while (!kthread_should_stop()) {
-		set_current_state(TASK_INTERRUPTIBLE);
-		add_wait_queue(&dlm->wait, &wait);
-		if (no_work(dlm))
-			schedule();
-		remove_wait_queue(&dlm->wait, &wait);
-		set_current_state(TASK_RUNNING);
+		wait_event_interruptible(dlm->wait,
+				!no_work(dlm) || kthread_should_stop());
 
 		complete = blocking = submit = start = finish = 0;
 		drop = shrink = 0;



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2008-01-14 16:00 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-31 15:23 [Cluster-devel] cluster/gfs-kernel/src/dlm thread.c teigland
  -- strict thread matches above, loose matches on Subject: below --
2008-01-14 16:00 teigland
2006-12-08 17:31 teigland
2006-12-08 17:31 teigland

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).