Open main menu

OpenVZ Virtuozzo Containers Wiki β

Changes

Sysfs layouts

1,770 bytes added, 13:24, 12 March 2010
Described the old_sysfs option
This page describes what problems can you have with sysfs

== Intro ==
Sysfs can exist in two layouts. They are selected by the <code>CONFIG_SYSFS_DEPRECATED_V2</code>
config option. There are two main differences between them
# block devices are stored in the <code>/sys/block</code> or in the <code>/sys/class/block</code>
# some devices live in the <code>/sys/devices</code> or in the <code>/sys/class</code>

Although sysfs puts symlinks between old and new entries where possible, not all userspace can
work with it.

== Known issues ==
=== Old nash on new layout ===
<code>Nash</code> is a small shell used on initrd/initramdisk-s to boot the system.

With the new sysfs layout (i.e. the option is question is ''not'' set) the old <code>nash</code>
tool (such as the one used in CentOS-5) cannot recognise the block devices. This results in
inability to mount the root filesystem.

To workaround the issue you should turn the deprecated layout on in .config and rebuild the kernel.
All OpenVZ kernel prior to 2.6.27 (and including one) are build with this layout.

=== New udev on old layout ===
With the old sysfs layout (i.e. with the option set to <code>y</code>) the udev used in newer
distros (such as FC12) prints a warning about the old layout used.

Currently this doesn't bring any problems to user, but in future situation may change.

To workaround the issue you should turn the deprecated layout off in .config and rebuild the kernel.

== Dynamic selection ==
In 2.6.32 OpenVZ kernel there's a boot option called <code>old_sysfs</code> which turns the
deprecated layout on at boot. This one is off by default, so if you're using the 2.6.32 kernel
on old distro, you should probably boot it with the option in question set.
[[Category:Troubleshooting]]
Anonymous user