* Re: pivot_root solved by patch to 2.4.22-pre7 [not found] <Pine.LNX.4.44.0308051506570.26542-100000@dhcp64-178.boston.redhat.com> @ 2003-08-06 6:27 ` Rene Mayrhofer 2003-08-06 19:33 ` Marcelo Tosatti 2003-08-07 11:58 ` Alan Cox 0 siblings, 2 replies; 11+ messages in thread From: Rene Mayrhofer @ 2003-08-06 6:27 UTC (permalink / raw) To: Linux Kernel Mailing List; +Cc: Jason Baron 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 ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-06 6:27 ` pivot_root solved by patch to 2.4.22-pre7 Rene Mayrhofer @ 2003-08-06 19:33 ` Marcelo Tosatti 2003-08-06 19:51 ` Herbert Pötzl 2003-08-07 11:58 ` Alan Cox 1 sibling, 1 reply; 11+ messages in thread From: Marcelo Tosatti @ 2003-08-06 19:33 UTC (permalink / raw) To: Rene Mayrhofer; +Cc: Linux Kernel Mailing List, Jason Baron What is your problem with pivot_root? Sorry but I've searched the list archives and found nothing but this email and this patch, which seems a bit hackish. On Wed, 6 Aug 2003, Rene Mayrhofer wrote: > 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/ > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-06 19:33 ` Marcelo Tosatti @ 2003-08-06 19:51 ` Herbert Pötzl 2003-08-07 9:34 ` Andreas Haumer 0 siblings, 1 reply; 11+ messages in thread From: Herbert Pötzl @ 2003-08-06 19:51 UTC (permalink / raw) To: Marcelo Tosatti; +Cc: Rene Mayrhofer, Linux Kernel Mailing List, Jason Baron On Wed, Aug 06, 2003 at 04:33:52PM -0300, Marcelo Tosatti wrote: > > What is your problem with pivot_root? > > Sorry but I've searched the list archives and found nothing but this email > and this patch, which seems a bit hackish. Jul 21 Rene Mayrhofer 82 pivot_root seems to be broken in 2.4.21-a1716 Jul 22 Denis Vlasenko 103 > Jul 22 Rene Mayrhofer 54 > Jul 22 Jason Baron 18 > Jul 22 Alan Cox 22 > Jul 22 Rene Mayrhofer 25 > Jul 22 Alan Cox 17 > Jul 22 Rene Mayrhofer 154 > Jul 23 Mika Penttilä 40 > Jul 22 Mika Penttilä 41 > HTH, Herbert > On Wed, 6 Aug 2003, Rene Mayrhofer wrote: > > > 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/ > > > > - > 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/ ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-06 19:51 ` Herbert Pötzl @ 2003-08-07 9:34 ` Andreas Haumer 2003-08-07 10:33 ` Rene Mayrhofer 0 siblings, 1 reply; 11+ messages in thread From: Andreas Haumer @ 2003-08-07 9:34 UTC (permalink / raw) To: herbert Cc: Marcelo Tosatti, Rene Mayrhofer, Linux Kernel Mailing List, Jason Baron -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi! Herbert Pötzl wrote: > On Wed, Aug 06, 2003 at 04:33:52PM -0300, Marcelo Tosatti wrote: > >>What is your problem with pivot_root? >> >>Sorry but I've searched the list archives and found nothing but this email >>and this patch, which seems a bit hackish. > > > Jul 21 Rene Mayrhofer 82 pivot_root seems to be broken in 2.4.21-a1716 > Jul 22 Denis Vlasenko 103 > > Jul 22 Rene Mayrhofer 54 > > Jul 22 Jason Baron 18 > > Jul 22 Alan Cox 22 > > Jul 22 Rene Mayrhofer 25 > > Jul 22 Alan Cox 17 > > Jul 22 Rene Mayrhofer 154 > > Jul 23 Mika Penttilä 40 > > Jul 22 Mika Penttilä 41 > > This patch also solves my problem as reported on Jul. 29th (Subject: "2.4.22-pre4: devfs on initrd stays busy after pivot_root" Message-ID: 3F267FD7.4040400@xss.co.at) and in more detail on July 30th, (Message-ID: 3F2795DE.5020306@xss.co.at) I just tried it with 2.4.22-rc1, and with this patch I am able to umount /initrd/dev and /initrd after pivot_root again! Don't know yet if it has any ill side effects, though. HTH - - andreas - -- Andreas Haumer | mailto:andreas@xss.co.at *x Software + Systeme | http://www.xss.co.at/ Karmarschgasse 51/2/20 | Tel: +43-1-6060114-0 A-1100 Vienna, Austria | Fax: +43-1-6060114-71 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQE/Mh0/xJmyeGcXPhERAmbLAKCUrXFUA44ggJvOBMlwvA4GKFsWdwCeNIid 4bWSyQ2OFqwXnNdU8t/bJsw= =sdiS -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-07 9:34 ` Andreas Haumer @ 2003-08-07 10:33 ` Rene Mayrhofer 0 siblings, 0 replies; 11+ messages in thread From: Rene Mayrhofer @ 2003-08-07 10:33 UTC (permalink / raw) To: Andreas Haumer Cc: herbert, Marcelo Tosatti, Linux Kernel Mailing List, Jason Baron Andreas Haumer wrote: > I just tried it with 2.4.22-rc1, and with this patch I am > able to umount /initrd/dev and /initrd after pivot_root > again! Same for me. With this patch, all the 2.4.21-ac*, 2.4.22-pre*-ac* and 2.4.22-rc1 kernels I tried work again. > Don't know yet if it has any ill side effects, though. Doesn't seem to have, but IANAKG (I am not a kernel guru) ;) - Rene ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-06 6:27 ` pivot_root solved by patch to 2.4.22-pre7 Rene Mayrhofer 2003-08-06 19:33 ` Marcelo Tosatti @ 2003-08-07 11:58 ` Alan Cox 2003-08-07 15:26 ` Jason Baron 1 sibling, 1 reply; 11+ messages in thread From: Alan Cox @ 2003-08-07 11:58 UTC (permalink / raw) To: Rene Mayrhofer; +Cc: Linux Kernel Mailing List, Jason Baron On Mer, 2003-08-06 at 07:27, Rene Mayrhofer wrote: > 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. The patch shouldnt be needed or make any difference. I have to understand why its fixing the problem and fix it properly yet (or someone does) ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-07 11:58 ` Alan Cox @ 2003-08-07 15:26 ` Jason Baron 2003-08-07 15:50 ` Alan Cox 0 siblings, 1 reply; 11+ messages in thread From: Jason Baron @ 2003-08-07 15:26 UTC (permalink / raw) To: Alan Cox; +Cc: Rene Mayrhofer, Linux Kernel Mailing List On 7 Aug 2003, Alan Cox wrote: > On Mer, 2003-08-06 at 07:27, Rene Mayrhofer wrote: > > 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. > > The patch shouldnt be needed or make any difference. I have to > understand why its fixing the problem and fix it properly yet (or > someone does) > > it clearly makes a difference. the unshare_files change causes init to no longer share the same fd table with the other kernel threads. thus, when init closes or opens fds it does not affect the other kernel threads. this patch allows init to continue to share the same fd table with the other kernel threads as before the unshare_files change. it does not compromise the intention of the unshare_files change afaik. -Jason ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-07 15:26 ` Jason Baron @ 2003-08-07 15:50 ` Alan Cox 2003-08-07 16:41 ` Jason Baron 2003-08-15 18:14 ` Jason Lunz 0 siblings, 2 replies; 11+ messages in thread From: Alan Cox @ 2003-08-07 15:50 UTC (permalink / raw) To: Jason Baron; +Cc: Rene Mayrhofer, Linux Kernel Mailing List On Iau, 2003-08-07 at 16:26, Jason Baron wrote: > it clearly makes a difference. > > the unshare_files change causes init to no longer share the same fd table > with the other kernel threads. thus, when init closes or opens fds it does Ah yes.. because of do_basic_setup. Having /sbin/init sharing with kernel threads doesn't actually strike me as too clever anyway although none of them should be using fd stuff. In which case I guess we should call unshare_files directly before we open /dev/console in init/main.c. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-07 15:50 ` Alan Cox @ 2003-08-07 16:41 ` Jason Baron 2003-08-15 18:14 ` Jason Lunz 1 sibling, 0 replies; 11+ messages in thread From: Jason Baron @ 2003-08-07 16:41 UTC (permalink / raw) To: Alan Cox; +Cc: Rene Mayrhofer, Linux Kernel Mailing List On 7 Aug 2003, Alan Cox wrote: > On Iau, 2003-08-07 at 16:26, Jason Baron wrote: > > it clearly makes a difference. > > > > the unshare_files change causes init to no longer share the same fd table > > with the other kernel threads. thus, when init closes or opens fds it does > > Ah yes.. because of do_basic_setup. Having /sbin/init sharing with > kernel threads doesn't actually strike me as too clever anyway although > none of them should be using fd stuff. > > In which case I guess we should call unshare_files directly before we > open /dev/console in init/main.c. > ok, but what if we re-exec init a couple of times? ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 2003-08-07 15:50 ` Alan Cox 2003-08-07 16:41 ` Jason Baron @ 2003-08-15 18:14 ` Jason Lunz 1 sibling, 0 replies; 11+ messages in thread From: Jason Lunz @ 2003-08-15 18:14 UTC (permalink / raw) To: Alan Cox; +Cc: jbaron, marcelo, linux-kernel In gmane.linux.kernel, you wrote: >> the unshare_files change causes init to no longer share the same fd table >> with the other kernel threads. thus, when init closes or opens fds it does > > Ah yes.. because of do_basic_setup. Having /sbin/init sharing with > kernel threads doesn't actually strike me as too clever anyway although > none of them should be using fd stuff. > > In which case I guess we should call unshare_files directly before we > open /dev/console in init/main.c. Is this going to be fixed for 2.4.22? In -rc2, I still get this after pivot_root (I'm using pivot_root, but not initrd): halfoat:0:~ # umount /mnt umount: /mnt: device is busy halfoat:1:~ # lsof /mnt COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME keventd 2 root 0u CHR 5,1 21 /mnt/dev/console keventd 2 root 1u CHR 5,1 21 /mnt/dev/console keventd 2 root 2u CHR 5,1 21 /mnt/dev/console ksoftirqd 3 root 0u CHR 5,1 21 /mnt/dev/console ksoftirqd 3 root 1u CHR 5,1 21 /mnt/dev/console ksoftirqd 3 root 2u CHR 5,1 21 /mnt/dev/console ksoftirqd 4 root 0u CHR 5,1 21 /mnt/dev/console ksoftirqd 4 root 1u CHR 5,1 21 /mnt/dev/console ksoftirqd 4 root 2u CHR 5,1 21 /mnt/dev/console kswapd 5 root 0u CHR 5,1 21 /mnt/dev/console kswapd 5 root 1u CHR 5,1 21 /mnt/dev/console kswapd 5 root 2u CHR 5,1 21 /mnt/dev/console bdflush 6 root 0u CHR 5,1 21 /mnt/dev/console bdflush 6 root 1u CHR 5,1 21 /mnt/dev/console bdflush 6 root 2u CHR 5,1 21 /mnt/dev/console kupdated 7 root 0u CHR 5,1 21 /mnt/dev/console kupdated 7 root 1u CHR 5,1 21 /mnt/dev/console kupdated 7 root 2u CHR 5,1 21 /mnt/dev/console kjournald 64 root 0u CHR 5,1 21 /mnt/dev/console kjournald 64 root 1u CHR 5,1 21 /mnt/dev/console kjournald 64 root 2u CHR 5,1 21 /mnt/dev/console Jason ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: pivot_root solved by patch to 2.4.22-pre7 @ 2003-09-23 17:25 Mathias Sundman 0 siblings, 0 replies; 11+ messages in thread From: Mathias Sundman @ 2003-09-23 17:25 UTC (permalink / raw) To: alan; +Cc: linux-kernel > > Ah yes.. because of do_basic_setup. Having /sbin/init sharing with > > kernel threads doesn't actually strike me as too clever anyway although > > none of them should be using fd stuff. > > > > In which case I guess we should call unshare_files directly before we > > open /dev/console in init/main.c. > > Is this going to be fixed for 2.4.22? In -rc2, I still get this after > pivot_root (I'm using pivot_root, but not initrd): > > halfoat:0:~ # umount /mnt > umount: /mnt: device is busy Have this problem been resolved yet, or do one still need to use the patch supplied by Jason Baron? /Mathias ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2003-09-23 17:24 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <Pine.LNX.4.44.0308051506570.26542-100000@dhcp64-178.boston.redhat.com>
2003-08-06 6:27 ` pivot_root solved by patch to 2.4.22-pre7 Rene Mayrhofer
2003-08-06 19:33 ` Marcelo Tosatti
2003-08-06 19:51 ` Herbert Pötzl
2003-08-07 9:34 ` Andreas Haumer
2003-08-07 10:33 ` Rene Mayrhofer
2003-08-07 11:58 ` Alan Cox
2003-08-07 15:26 ` Jason Baron
2003-08-07 15:50 ` Alan Cox
2003-08-07 16:41 ` Jason Baron
2003-08-15 18:14 ` Jason Lunz
2003-09-23 17:25 Mathias Sundman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox