Bug 1235016

Summary: Cannot install syslinux on a USB stick
Product: [Fedora] Fedora Reporter: Jason Tibbitts <j>
Component: syslinuxAssignee: Peter Jones <pjones>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 22CC: Marc.Herbert+rhzilla, mattdm, pjones, vapier
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1334878 (view as bug list) Environment:
Last Closed: 2016-07-19 15:00:00 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1334878    

Description Jason Tibbitts 2015-06-23 18:52:36 UTC
Beginning with F21, syslinux lost the ability to install to a USB stick:

> sudo syslinux /dev/sdf
plain floppy: device "/proc/13122/fd/3" busy (Resource temporarily unavailable):
Cannot initialize 'S:'
Bad target s:/ldlinux.c32

The old 4.05 version in F20 seems to work OK.  I did a bit of searching and found this discussion: https://groups.google.com/a/chromium.org/forum/#!msg/chromium-os-dev/bRPUCFHoBTQ/ZjB8kjjx1vUJ

Which includes the following:

"
All confirmed: inserting a 10ms sleep in mtools just before the flock() syscall makes the problem go away, whereas a 1ms is not long enough to avoid it.

Removing LOCK_NB also makes it work.

syslinux forks and closes mattrib/mtools in rapid fire - apparently too fast for the loopback flock to be actually released.
"

Of course, this is talking about running syslinux on a loop device, but the problem appears to be the same.  It could be an mtools problem instead, but mtools hasn't really changed in 2.5 years.  I guess the older version of syslinux didn't call mtools at all, so this didn't show up.

Comment 1 MarcH 2015-11-03 17:53:06 UTC
The problem on the loop device is a locking race between recent versions of udev and mtools. See discussion linked above for all details.

Comment 2 Fedora End Of Life 2016-07-19 15:00:00 UTC
Fedora 22 changed to end-of-life (EOL) status on 2016-07-19. Fedora 22 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.