On Wed, Mar 19, 2008 at 05:41:15PM +0100, Miklos Szeredi wrote:It is called with vfsmount_lock in *all* cases. You've missed one in umount_tree(), BTW; you won't block in that case, though. Not the issue. Callers manipulate more than propagation tree. Note that e.g. umount_tree() changes all sorts of data structures, including ones that are traversed without namespace_sem. I _really_ don't like the idea of different locking rules for caller of a function depending on the value of argument of that function. They are complicated enough as it is. Argh... OK, I'll try to put something together tonight, after I get some sleep - 31 hours of uptime _suck_ ;-/ BTW, on top of everything else, the current variant plays interesting games with CL_PROPAGATION behaviour and I really don't like the look of what it's doing there. Later... --
| Benjamin Herrenschmidt | Re: [linux-pm] [PATCH] Remove process freezer from suspend to RAM pathway |
| Ulrich Drepper | Re: [patch 7/8] fdmap v2 - implement sys_socket2 |
| Washington Odhiambo | Weird Problem with NAT - more details |
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
git: | |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| Frans Pop | svc: failed to register lockdv1 RPC service (errno 97). |
| Jarek Poplawski | [PATCH take 2] pkt_sched: Protect gen estimators under est_lock. |
| David Miller | Re: [GIT]: Networking |
