Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 3

2007-09-20 Thread David Teigland
On Wed, Sep 19, 2007 at 05:23:29PM -0500, Bob Peterson wrote: > On Wed, 2007-09-19 at 16:13 -0500, David Teigland wrote: > > ACK, I noticed that this isn't in git yet > > AFAICT, it's in the git tree: > > http://git.kernel.org/?p=linux/kernel/git/steve/gfs2-2.6-nmw.git;a=commitdiff;h=e76700466a04

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 3

2007-09-19 Thread Bob Peterson
On Wed, 2007-09-19 at 16:13 -0500, David Teigland wrote: > ACK, I noticed that this isn't in git yet AFAICT, it's in the git tree: http://git.kernel.org/?p=linux/kernel/git/steve/gfs2-2.6-nmw.git;a=commitdiff;h=e76700466a04c244d1d29fe51b282838becd4f2d Are you sure you were looking at nmw?

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 3

2007-09-19 Thread David Teigland
On Fri, Sep 14, 2007 at 09:27:59AM -0500, Bob Peterson wrote: > This is a rewrite of the patch. We decided it was a better > approach to call separate wrapper functions than trying to work around > the problem with a spin_lock. ACK, I noticed that this isn't in git yet > -- > The problem boiled

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 3

2007-09-14 Thread Steven Whitehouse
Hi, Now in the -nmw git tree. Thanks, Steve. On Fri, 2007-09-14 at 09:27 -0500, Bob Peterson wrote: > This is a rewrite of the patch. We decided it was a better > approach to call separate wrapper functions than trying to work around > the problem with a spin_lock. > -- > The problem boiled dow

[Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 3

2007-09-14 Thread Bob Peterson
This is a rewrite of the patch. We decided it was a better approach to call separate wrapper functions than trying to work around the problem with a spin_lock. -- The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essential

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 2

2007-09-14 Thread David Teigland
On Thu, Sep 13, 2007 at 11:04:43PM -0500, Bob Peterson wrote: > diff -pur a/fs/gfs2/locking/dlm/thread.c b/fs/gfs2/locking/dlm/thread.c > --- a/fs/gfs2/locking/dlm/thread.c2007-09-13 17:33:58.0 -0500 > +++ b/fs/gfs2/locking/dlm/thread.c2007-09-13 22:47:14.0 -0500 > @@ -279,8

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 2

2007-09-14 Thread Steven Whitehouse
Hi, Now in the -nmw git tree. Thanks, Steve. On Thu, 2007-09-13 at 23:04 -0500, Bob Peterson wrote: > Josef's right--my bad. Here is the corrected patch for 276631. > > The problem boiled down to a race between the gdlm_init_threads() > function initializing thread1 and its setting of blist =

[Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung - TRY 2

2007-09-13 Thread Bob Peterson
Josef's right--my bad. Here is the corrected patch for 276631. The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essentially, "if (current == ls->thread1)" was checked by the thread before the thread creator set ls->threa

Re: [Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung

2007-09-13 Thread Josef Bacik
On Thu, Sep 13, 2007 at 04:46:37PM -0500, Bob Peterson wrote: > The following is a patch for bugzilla bug 276631. > > The problem boiled down to a race between the gdlm_init_threads() > function initializing thread1 and its setting of blist = 1. > Essentially, "if (current == ls->thread1)" was che

[Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung

2007-09-13 Thread Bob Peterson
The following is a patch for bugzilla bug 276631. The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essentially, "if (current == ls->thread1)" was checked by the thread before the thread creator set ls->thread1. Since thr

[Cluster-devel] [PATCH] [GFS2] bz 276631 : GFS2: chmod hung

2007-09-13 Thread Bob Peterson
The problem boiled down to a race between the gdlm_init_threads() function initializing thread1 and its setting of blist = 1. Essentially, "if (current == ls->thread1)" was checked by the thread before the thread creator set ls->thread1. Since thread1 is the only thread who is allowed to work on t