[systemd-devel] fsck checking: concurrent device access problem

Mariusz Bialonczyk manio at skyboo.net
Mon Aug 15 23:05:10 PDT 2011


On 08/02/2011 01:48 AM, Lennart Poettering wrote:
> On Sat, 30.07.11 01:11, Mariusz Bialonczyk (manio at skyboo.net) wrote:
>>
>> Hello again
>> I want to bring some new light on this issue. It seems that passno doesn't solve the
>> "busy device" issue (I tested it on debian's systemd v25-2 and also 29-1).
>> >From time to time I've got the following error when starting (maybe about 1/4 of all reboots):
>> systemd-fsck[572]: fsck.ext4: Device or resource busy while trying to open /dev/md4
>> systemd-fsck[572]: Filesystem mounted or opened exclusively by another program?
>> But when I reboot another time the system boot up normally.
>>
>> Full screen from this boot process: http://skyboo.net/IMG_8188.JPG
>> It seems that there is a problem with fsck-ing /dev/md devices (race condition?).
>> Any news/tips to solve this? This is very annoying when the host is not always starting :(
> 
> Hmm, I have not seen a similar problem. My guess is though that there's
> some borkage with the RAID udev rules (are there any?): i.e. race
> between systemd spawning fsck on the md devices and some other code
> (that might be spawned from the udev rule) that does the same.
> 
> Kay, do you have an idea?
> 
> Lennart
> 
Today I reproduced the problem with debugging turned on.
The original screen photo is here: http://skyboo.net/systemd/IMG_8214.JPG
But I retyped the essential info below:
-------------------------------------- start here
systemd-fsck[   11.908231] systemd-fsck[127]: /dev/md0: clean, 85842/458752 files, 937206/1834480 blocks
[127]: /dev/md0: clean, 85842/458752 files, 937206/1834480 blocks
Started File System Check on Root Device.
done.
Started LSB: Set preliminary keymap.
Starting Remount Root FS...
Starting File System Check on /dev/disk/by-uuid/33a13f77-6e5a-4c1e-b959-d891b0a77488...
[   12.441172] EXT4-fs (md0): re-mounted. Opts: errors=remount-ro
Started Remount Root FS.
Starting LSB: Clean old interface status info during boot....
Starting LSB: mount emergency /tmp....
Cleaning up ifupdown...Starting /dev/disk/by-uuid/af8133a0-e9a5-4fcf-81e4-c87c2bb50ac8...
Started LSB: mount emergency /tmp..
.
Started LSB: Clean old interface status info during boot..
Starting LSB: Prepare the system for taking up interfaces....
[   12.801958] Adding 1048508k swap on /dev/md3. Priority:0 extents:1 across:1048508k
Started /dev/disk/by-uuid/af8133a0-e9a5-4fcf-81e4-c87c2bb50ac8.
Setting up networking....
Started LSB: Prepare the system for taking up interfaces..
systemd-fsck[   13.569809] systemd-fsck[59]: /dev/md4: clean, 2734236/57581568 files, 203991321/230296816 blocks
[596]: /dev/md4: clean, 2734236/57581568 files, 203991321/230296816 blocks
Started File System Check on /dev/disk/by-uuid/33a13f77-6e5a-4c1e-b959-d891b0a77488.
Starting File System Check on /dev/disk/by-uuid/33a13f77-6e5a-4c1e-b959-d891b0a77488...
Starting /home...
[   14.137995] mount[672]: mount: /dev/md4 already mounted or /home busy
[   14.138399] systemd[1]: home.mount mount process exited, code=exited status=32
Starting /home failed, see `systemctl status home.mount` for details.
[   14.178352] systemd[1]: Job local-fs.target/start failed with result `dependency`.
[   14.183514] systemd[1]: Triggering OnFailure= dependencies of local-fs target.
[   14.184655] systemd[1]: Unit home.mount entered failed state.
Cleaning up ifupdown....
Welcome to emergency mode. Use "systemctl default" or ^D to activate default mode.
Give root password for maintenance
(or type Control-D to continue):
-------------------------------------- end here
Maybe now you know hot get rid of this problem...

regards,
-- 
Mariusz Białończyk
jabber/e-mail: manio at skyboo.net
http://manio.skyboo.net


More information about the systemd-devel mailing list