Re: [PATCH v2 0/2] gfs2: Stop using rhashtable_walk_peek

2018-03-29 Thread Andreas Gruenbacher
On 29 March 2018 at 17:41, Herbert Xu wrote: > On Thu, Mar 29, 2018 at 03:15:54PM +0200, Andreas Gruenbacher wrote: >> >> For all I know, Neil's latest plan is to get rhashtable_walk_peek >> replaced and removed because it is unfixable. This patch removes the >> o

Re: [PATCH v2 0/2] gfs2: Stop using rhashtable_walk_peek

2018-03-29 Thread Andreas Gruenbacher
On 29 March 2018 at 14:35, Herbert Xu wrote: > On Thu, Mar 29, 2018 at 02:06:10PM +0200, Andreas Gruenbacher wrote: >> Here's a second version of the patch (now a patch set) to eliminate >> rhashtable_walk_peek in gfs2. >> >> The first patch introduces lock

Re: [Cluster-devel] [PATCH v2 0/2] gfs2: Stop using rhashtable_walk_peek

2018-03-29 Thread Andreas Gruenbacher
On 29 March 2018 at 14:24, Steven Whitehouse wrote: > Hi, > > Can we solve the problem another way, by not taking refs on the glocks when > we are iterating over them for the debugfs files? I assume that is the main > issue here. > > We didn't used to take refs since the rcu locking was enough dur

[PATCH v2 1/2] lockref: Add lockref_put_not_zero

2018-03-29 Thread Andreas Gruenbacher
Put a lockref unless the lockref is dead or its count would become zero. This is the same as lockref_put_or_lock except that the lock is never left held. Signed-off-by: Andreas Gruenbacher --- include/linux/lockref.h | 1 + lib/lockref.c | 28 2 files

[PATCH v2 0/2] gfs2: Stop using rhashtable_walk_peek

2018-03-29 Thread Andreas Gruenbacher
ction from patch one is used to drop a lockref count as long as the count doesn't drop to zero. This is almost always the case; if there is a risk of dropping the last reference, we must defer that to a work queue because dropping the last reference may sleep. Thanks, Andreas Andreas Grue

[PATCH v2 2/2] gfs2: Stop using rhashtable_walk_peek

2018-03-29 Thread Andreas Gruenbacher
glock in the seq file iterator functions instead. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/glock.c | 47 --- 1 file changed, 28 insertions(+), 19 deletions(-) diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 82fb5583445c..097bd3c0f270 100644

Re: [PATCH] gfs2: Stop using rhashtable_walk_peek

2018-03-28 Thread Andreas Gruenbacher
On 28 March 2018 at 23:53, NeilBrown wrote: > Thank for this patch! > The above looks a bit fragile to me. > gfs2_glock_iter_next() (And hence gfs2_glock_seq_start()) will sometimes > exit with gl_held true, and sometimes with it false. > gfs2_glock_seq_stop() assumes that it is false. > Normally

[PATCH] gfs2: Stop using rhashtable_walk_peek

2018-03-28 Thread Andreas Gruenbacher
, keep track of the current glock in the seq file iterator functions. Signed-off-by: Andreas Gruenbacher --- fs/gfs2/glock.c | 18 +- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 82fb5583445c..f1fc353875d3 100644 --- a/fs

Re: [PATCH 2/3] rhashtable: Add rhashtable_walk_curr

2017-12-19 Thread Andreas Gruenbacher
On 19 December 2017 at 00:38, Herbert Xu wrote: > On Mon, Dec 18, 2017 at 02:31:21PM +0100, Andreas Gruenbacher wrote: >> When iterating through an rhashtable is stopped with >> rhashtable_walk_stop and then resumed with rhashtable_walk_start, there >> currently is no w

[PATCH 2/3] rhashtable: Add rhashtable_walk_curr

2017-12-18 Thread Andreas Gruenbacher
#x27;t fit previously will be revisited. Signed-off-by: Andreas Gruenbacher --- include/linux/rhashtable.h | 1 + lib/rhashtable.c | 17 + 2 files changed, 18 insertions(+) diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index 361c08e35dbc..1a1608bc5

[PATCH] rhashtable: Documentation tweak

2017-09-19 Thread Andreas Gruenbacher
Clarify that rhashtable_walk_{stop,start} will not reset the iterator to the beginning of the hash table. Confusion between rhashtable_walk_enter and rhashtable_walk_start has already lead to a bug. Signed-off-by: Andreas Gruenbacher --- lib/rhashtable.c | 9 + 1 file changed, 5

[PATCH] rhashtable: Add rhashtable_lookup_get_insert_fast

2017-03-17 Thread Andreas Gruenbacher
Add rhashtable_lookup_get_insert_fast for fixed keys, similar to rhashtable_lookup_get_insert_key for explicit keys. Signed-off-by: Andreas Gruenbacher Acked-by: Herbert Xu --- include/linux/rhashtable.h | 22 ++ 1 file changed, 22 insertions(+) diff --git a/include/linux

Re: Why does a connect to IPv6 LLA address fail ?

2007-11-08 Thread Andreas Gruenbacher
On Wednesday 07 November 2007 20:42, Vlad Yasevich wrote: > The reason is that 2 different hosts may have the same link-local > address as long as they are on different links. If the sender is > connected to both links then it may send the packet to the wrong > destination. Good point. What's co