bryan at kadzban.is-a-geek.net
Wed Jan 6 22:14:46 PST 2010
Andrew Benton wrote:
> On 06/01/10 04:59, Bryan Kadzban wrote:
>> Before the nilfs2 FS is mounted, I assume you mean. Because it
>> doesn't make much difference whether the symlink exists before the
>> rootfs is mounted -- the kernel (or initramfs...) does that before
>> any bootscripts run, anyway.
> Yes,it does make a difference. I was talking about when the root file
> system is an NILFS2 partition. When a NILFS2 partition is mounted
> mount.nilfs2 starts nilfs-cleanerd
But mount.nilfs2 isn't run when the kernel mounts the rootfs...
If a remount starts this daemon up, that's rather surprising. If *only*
a read-only-to-read-write remount starts the daemon up, then that's
somewhat less surprising, but insufficient; having the kernel mount the
rootfs read-write is perfectly possible (though possibly a bad idea, I'm
>>> The kernel knows where the root is because it was passed it as an
>>> argument by grub, it's available in /proc/cmdline
>> Yes, but the value is not necessarily symlinkable: an NFS mount
>> target is not, for instance. I wouldn't be surprised if
>> nilfs-cleanerd choked on that as well;
> That is not relevant. nilfs-cleanerd wouldn't need to run on an NFS
It is relevant, just not directly: not every string following root= on
the kernel command line is a valid symlink target. :-) (Well, that's
not entirely true. Any string is a valid symlink target, but the
symlink that gets created to point to many of the possible strings will
be broken, and nilfs-cleanerd will still choke.)
More examples: "root=UUID=xxxxx" (pre-udev by-uuid setup), "root=X:Y"
(giving the block device major/minor number directly), possibly some
network block device setups (not sure on that though), etc. NFS was
just the first example I thought of (though it's a bad example, since
nilfs is obviously not used there).
>> the best fix here (IMO) is to change nilfs-cleanerd to special-case
>> the rootfs, or (if that's impossible because your rootfs is nilfs2)
>> use an initramfs, since you'll need that anyway.
> I don't need to use an initramfs, one line in the mountfs bootscript
> is much simpler and works fine.
Well, see above; mount.nilfs2 starting a random daemon on a remount is
either surprising or insufficient. :-) Great that it works fine in
your current setup though.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 261 bytes
Desc: OpenPGP digital signature
More information about the lfs-dev