summaryrefslogtreecommitdiffstats
path: root/zarb-ml/mageia-dev/2012-February/011935.html
diff options
context:
space:
mode:
Diffstat (limited to 'zarb-ml/mageia-dev/2012-February/011935.html')
-rw-r--r--zarb-ml/mageia-dev/2012-February/011935.html172
1 files changed, 172 insertions, 0 deletions
diff --git a/zarb-ml/mageia-dev/2012-February/011935.html b/zarb-ml/mageia-dev/2012-February/011935.html
new file mode 100644
index 000000000..a02b5f89f
--- /dev/null
+++ b/zarb-ml/mageia-dev/2012-February/011935.html
@@ -0,0 +1,172 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<HTML>
+ <HEAD>
+ <TITLE> [Mageia-dev] Issues with dracut
+ </TITLE>
+ <LINK REL="Index" HREF="index.html" >
+ <LINK REL="made" HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Issues%20with%20dracut&In-Reply-To=%3C4F3A8393.8010901%40colin.guthr.ie%3E">
+ <META NAME="robots" CONTENT="index,nofollow">
+ <META http-equiv="Content-Type" content="text/html; charset=us-ascii">
+ <LINK REL="Previous" HREF="011709.html">
+ <LINK REL="Next" HREF="011704.html">
+ </HEAD>
+ <BODY BGCOLOR="#ffffff">
+ <H1>[Mageia-dev] Issues with dracut</H1>
+ <B>Colin Guthrie</B>
+ <A HREF="mailto:mageia-dev%40mageia.org?Subject=Re%3A%20%5BMageia-dev%5D%20Issues%20with%20dracut&In-Reply-To=%3C4F3A8393.8010901%40colin.guthr.ie%3E"
+ TITLE="[Mageia-dev] Issues with dracut">mageia at colin.guthr.ie
+ </A><BR>
+ <I>Tue Feb 14 16:53:55 CET 2012</I>
+ <P><UL>
+ <LI>Previous message: <A HREF="011709.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI>Next message: <A HREF="011704.html">[Mageia-dev] stardict 3.0.3
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#11935">[ date ]</a>
+ <a href="thread.html#11935">[ thread ]</a>
+ <a href="subject.html#11935">[ subject ]</a>
+ <a href="author.html#11935">[ author ]</a>
+ </LI>
+ </UL>
+ <HR>
+<!--beginarticle-->
+<PRE>'Twas brillig, and Colin Guthrie at 03/02/12 16:00 did gyre and gimble:
+&gt;<i> 'Twas brillig, and David W. Hodgins at 03/02/12 08:04 did gyre and gimble:
+</I>&gt;&gt;<i> On Tue, 17 Jan 2012 07:22:30 -0500, Colin Guthrie
+</I>&gt;&gt;<i> &lt;<A HREF="https://www.mageia.org/mailman/listinfo/mageia-dev">mageia at colin.guthr.ie</A>&gt; wrote:
+</I>&gt;&gt;<i>
+</I>&gt;&gt;&gt;<i> Are things working OK for you now with dracut or is it still busted?
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> Just to clarify why I think the problem is happening on single
+</I>&gt;&gt;<i> core systems.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On a multi-core system, the bash and udevd processes will be
+</I>&gt;&gt;<i> running on different cores.
+</I>&gt;&gt;<i> When the script executes the udev settle command, it continues
+</I>&gt;&gt;<i> to execute, so the loop checking to see if udev is done finds
+</I>&gt;&gt;<i> it isn't, so it then looks for/runs the initqueue jobs.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> On a single core system, the bash script waits for the settle
+</I>&gt;&gt;<i> command to finish, so then finds it's done, and exits without
+</I>&gt;&gt;<i> even trying to run the initqueue jobs.
+</I>&gt;&gt;<i>
+</I>&gt;&gt;<i> The patch in my prior message is effectively changing the script
+</I>&gt;&gt;<i> from &quot;udev done or jobs done&quot; to &quot;udev done and jobs done&quot;.
+</I>&gt;<i>
+</I>&gt;<i> Hmm, actually thinking about this more, I'm not 100% sure I agree with
+</I>&gt;<i> this argument. The number of cores should be irrelevant here as the
+</I>&gt;<i> program itself should be dealing with things synchronously anyway.
+</I>&gt;<i>
+</I>&gt;<i> I'm wondering if it's more of an issue relating to the fact that it's
+</I>&gt;<i> not specifically waiting for the LVM device to be ready. I guess your /
+</I>&gt;<i> is either not on LVM or is in a different Volume Group? In my tests it
+</I>&gt;<i> worked, but perhaps the dual core machine is simply that bit faster (and
+</I>&gt;<i> it's speed, not #cores that is important)?
+</I>&gt;<i>
+</I>&gt;<i> In the file parse-lvm.sh, it does a for loop and has a wait_for_dev
+</I>&gt;<i> call. This function will put stuff into the initqueue that should
+</I>&gt;<i> prevent the exiting of the loop until that device exists...
+</I>&gt;<i>
+</I>&gt;<i> for dev in $(getargs rd.lvm.vg rd_LVM_VG=) $(getargs rd.lvm.lv
+</I>&gt;<i> rd_LVM_LV=); do
+</I>&gt;<i> wait_for_dev &quot;/dev/$dev&quot;
+</I>&gt;<i> done
+</I>&gt;<i>
+</I>&gt;<i> Now according to the man page, these options are only meant to be used
+</I>&gt;<i> to restrict what devices are activated so they shouldn't be needed per-se.
+</I>&gt;<i>
+</I>&gt;<i> But it brings an important point... there does not appear to be any
+</I>&gt;<i> &quot;wait_for_dev&quot; calls for the usrmount module So nothing is going to be
+</I>&gt;<i> waiting for the device to exist. If it takes a little while to come up
+</I>&gt;<i> it could lead to your error.
+</I>&gt;<i>
+</I>&gt;<i> And herein we have chicken and egg... we don't know where /usr is (i.e.
+</I>&gt;<i> which /dev/foo) until we mount / (as we have to read /etc/fstab). But
+</I>&gt;<i> by the time we've mounted /, we've already exited this loop and thus
+</I>&gt;<i> cannot re-enter the loop to wait for more devices.
+</I>&gt;<i>
+</I>&gt;<i> Tricky, and certainly something I'll discuss with Harald this weekend.
+</I>&gt;<i> He does have a separate branch that deals with usr mounting in a more
+</I>&gt;<i> holistic way (i.e. it handles /usr/bin being a separate mount if that
+</I>&gt;<i> floats your boat!), but I've not looked at this for a while to see if
+</I>&gt;<i> he's progressed any with it.
+</I>&gt;<i>
+</I>&gt;<i> All in all, it's perhaps just the fact that the first call to udevadm
+</I>&gt;<i> settle is skipped due to there being nothing in your initqueue/finished/
+</I>&gt;<i> folder? You can check via passing rd.break=initqueue and looking in the
+</I>&gt;<i> folder.
+</I>&gt;<i>
+</I>&gt;<i> If so, then all that should be needed to get this into shape is to put a
+</I>&gt;<i> dummy file in there as part of the 98usrmount module, have that file
+</I>&gt;<i> delete itself and return and error code, thus causing check_finished()
+</I>&gt;<i> to return non zero and thus the call to udevsettle will be reached.
+</I>&gt;<i>
+</I>&gt;<i>
+</I>&gt;<i> If this is NOT the issue, then it should just be a timing thing plain
+</I>&gt;<i> and simple. To confirm, this you should simply be able to pass
+</I>&gt;<i> rd.break=pre-pivot to the command line, wait a little while and then
+</I>&gt;<i> just type exit to continue the boot process. This extra time should be
+</I>&gt;<i> sufficient for udev to &quot;see&quot; the LVM stuff and for the mount command to
+</I>&gt;<i> succeed (I hope!)
+</I>&gt;<i>
+</I>&gt;<i> Sorry for the long reply. You will likely have to poke in the dracut
+</I>&gt;<i> code to understand everything I'm saying, but it looks like you're doing
+</I>&gt;<i> that happily already :D
+</I>
+
+OK, so I sadly didn't get a chance to speak to Harald in Brussels (only
+saw him briefly during a talk so couldn't go through my list of issues
+:<i>)) but think my comments above were correct.
+</I>
+To summarise, a problem would occur if / was on ext4 and /usr was on
+LVM. The LVM would never get activated. If / was on LVM too (but a
+different VG to /usr) then all would be fine.
+
+I think this is the scenario you had issues with.
+
+Looking at the new code in dracut 015, I think it writes out the
+variables I mentioned above (rd.lvm.vg) into a cmdline.d folder and thus
+the LVM for /usr should now get activated.
+
+In short, can you test the new dracut version just submitted?
+
+Cheers
+
+Col
+
+
+--
+
+Colin Guthrie
+colin(at)mageia.org
+<A HREF="http://colin.guthr.ie/">http://colin.guthr.ie/</A>
+
+Day Job:
+ Tribalogic Limited <A HREF="http://www.tribalogic.net/">http://www.tribalogic.net/</A>
+Open Source:
+ Mageia Contributor <A HREF="http://www.mageia.org/">http://www.mageia.org/</A>
+ PulseAudio Hacker <A HREF="http://www.pulseaudio.org/">http://www.pulseaudio.org/</A>
+ Trac Hacker <A HREF="http://trac.edgewall.org/">http://trac.edgewall.org/</A>
+</PRE>
+
+<!--endarticle-->
+ <HR>
+ <P><UL>
+ <!--threads-->
+ <LI>Previous message: <A HREF="011709.html">[Mageia-dev] Issues with dracut
+</A></li>
+ <LI>Next message: <A HREF="011704.html">[Mageia-dev] stardict 3.0.3
+</A></li>
+ <LI> <B>Messages sorted by:</B>
+ <a href="date.html#11935">[ date ]</a>
+ <a href="thread.html#11935">[ thread ]</a>
+ <a href="subject.html#11935">[ subject ]</a>
+ <a href="author.html#11935">[ author ]</a>
+ </LI>
+ </UL>
+
+<hr>
+<a href="https://www.mageia.org/mailman/listinfo/mageia-dev">More information about the Mageia-dev
+mailing list</a><br>
+</body></html>