NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/50375: layerfs (nullfs) locking problem leading to livelock



The following reply was made to PR kern/50375; it has been noted by GNATS.

From: "J. Hannken-Illjes" <hannken%eis.cs.tu-bs.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: Konrad Schroder <perseant%hhhh.org@localhost>
Subject: Re: kern/50375: layerfs (nullfs) locking problem leading to livelock
Date: Fri, 30 Oct 2015 09:55:12 +0100

 > A quick read of hannken's analysis makes me think that the basic problem 
 > here is that the two imposed locking orders (parent directory before 
 > subdirectory, and upper before lower) are in direct conflict when a 
 > directory is null-mounted onto a subdirectory of itself.
 
 Sure, loops would deadlock very fast.
 
 For the deadlock described here it is sufficient to mount a path on
 two different null mounts like:
 
 dev on /data type ffs
 /nulla on /data type null
 /nullb on /data type null
 
 The deadlock arises from one thread cleaning a node from /nulla while
 another thread tries to vget a node on /nullb and both nodes point to
 the same node on /data.
 
 --
 J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig (Germany)
 


Home | Main Index | Thread Index | Old Index