Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-08 Thread Steven Whitehouse
Hi, On 08/12/15 07:57, Dave Chinner wrote: On Wed, Dec 02, 2015 at 11:42:13AM -0500, Bob Peterson wrote: - Original Message - (snip) Please take a look at this again and figure out what the problematic cycle of events is, and then work out how to avoid that happening in the first

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-07 Thread Dave Chinner
On Wed, Dec 02, 2015 at 11:42:13AM -0500, Bob Peterson wrote: > - Original Message - > (snip) > > Please take a look at this > > again and figure out what the problematic cycle of events is, and then > > work out how to avoid that happening in the first place. There is no > > point in

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-04 Thread Bob Peterson
Hi, - Original Message - > > Hi Steve, > > > > Another possibility is to add a new inode work_queue which does the work of > > gfs2_clear_inode(). Its only function would be to clear the inode, and > > therefore, there should not be any competing work, as there is in the case > > of > > a

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-04 Thread David Teigland
On Fri, Dec 04, 2015 at 09:51:53AM -0500, Bob Peterson wrote: > it's from the fenced process, and if so, queue the final put. That should > mitigate the problem. Bob, I'm perplexed by the focus on fencing; this issue is broader than fencing as I mentioned in bz 1255872. Over the years that I've

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-04 Thread Bob Peterson
- Original Message - > On Fri, Dec 04, 2015 at 09:51:53AM -0500, Bob Peterson wrote: > > it's from the fenced process, and if so, queue the final put. That should > > mitigate the problem. > > Bob, I'm perplexed by the focus on fencing; this issue is broader than > fencing as I mentioned

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-03 Thread Steven Whitehouse
Hi, On 02/12/15 17:41, Bob Peterson wrote: - Original Message - - Original Message - (snip) Please take a look at this again and figure out what the problematic cycle of events is, and then work out how to avoid that happening in the first place. There is no point in replacing

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-02 Thread Bob Peterson
- Original Message - > - Original Message - > (snip) > > Please take a look at this > > again and figure out what the problematic cycle of events is, and then > > work out how to avoid that happening in the first place. There is no > > point in replacing one problem with another

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-02 Thread Bob Peterson
- Original Message - (snip) > Please take a look at this > again and figure out what the problematic cycle of events is, and then > work out how to avoid that happening in the first place. There is no > point in replacing one problem with another one, particularly one which > would likely

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-02 Thread Steven Whitehouse
HI, On 01/12/15 15:42, Bob Peterson wrote: - Original Message - Hi, On 25/11/15 14:22, Bob Peterson wrote: - Original Message - Hi, On 19/11/15 18:42, Bob Peterson wrote: This patch changes function gfs2_clear_inode() so that instead of calling gfs2_glock_put directly()

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-12-01 Thread Bob Peterson
- Original Message - > Hi, > > On 25/11/15 14:22, Bob Peterson wrote: > > - Original Message - > >> Hi, > >> > >> On 19/11/15 18:42, Bob Peterson wrote: > >>> This patch changes function gfs2_clear_inode() so that instead > >>> of calling gfs2_glock_put directly() most of the

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-11-25 Thread Steven Whitehouse
Hi, On 25/11/15 14:22, Bob Peterson wrote: - Original Message - Hi, On 19/11/15 18:42, Bob Peterson wrote: This patch changes function gfs2_clear_inode() so that instead of calling gfs2_glock_put directly() most of the time, it queues the glock to the delayed work queue. That avoids

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-11-25 Thread Bob Peterson
- Original Message - > Hi, > > On 19/11/15 18:42, Bob Peterson wrote: > > This patch changes function gfs2_clear_inode() so that instead > > of calling gfs2_glock_put directly() most of the time, it queues > > the glock to the delayed work queue. That avoids a possible > > deadlock where

Re: [Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-11-20 Thread Steven Whitehouse
Hi, On 19/11/15 18:42, Bob Peterson wrote: This patch changes function gfs2_clear_inode() so that instead of calling gfs2_glock_put directly() most of the time, it queues the glock to the delayed work queue. That avoids a possible deadlock where it calls dlm during a fence operation: dlm waits

[Cluster-devel] [GFS2 PATCH 1/2] GFS2: Make gfs2_clear_inode() queue the final put

2015-11-19 Thread Bob Peterson
This patch changes function gfs2_clear_inode() so that instead of calling gfs2_glock_put directly() most of the time, it queues the glock to the delayed work queue. That avoids a possible deadlock where it calls dlm during a fence operation: dlm waits for a fence operation, the fence operation