Messages in this thread | ![/](/images/icornerl.gif) | | Date | Wed, 06 Aug 2003 08:27:36 +0200 | From | Rene Mayrhofer <> | Subject | Re: pivot_root solved by patch to 2.4.22-pre7 |
| |
Hi all,
The problem with pivot_root that appeared in 2.4.21-ac4 and the 2.4.22-pre kernels is now solved (at least for my case) by applying the trvial patch sent by Jason Baron.
Jason Baron wrote: > right. so the semantics of how file tables are shared has changed a bit. I > would think that for at least 'init', it'd be nice to preserve the > original behavior, for situations such as you described. Something like > the following would probably work, although i havent' tried the test > script. > > --- linux/kernel/fork.c.orig 2003-07-23 21:34:59.000000000 -0400 > +++ linux/kernel/fork.c 2003-07-23 21:35:45.000000000 -0400 > @@ -558,7 +558,7 @@ int unshare_files(void) > > /* This can race but the race causes us to copy when we don't > need to and drop the copy */ > - if(atomic_read(&files->count) == 1) > + if(atomic_read(&files->count) == 1 || (current->pid == 1)) > { > atomic_inc(&files->count); > return 0; >
I tried that on my system and it works as expected. The kernel processes close their fds and the old root fs can thus be unmounted after pivot_root. Thanks for the hint ! So the problem is solved for me and it would be wonderful to get it into 2.4.22.
best regards, Rene
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| ![\](/images/icornerr.gif) |