Bug 803916

Summary: RFE: Bail early with informative message if rd.convertfs will fail due to lack of space
Product: [Fedora] Fedora Reporter: Valdis Kletnieks <valdis.kletnieks>
Component: dracutAssignee: dracut-maint
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: unspecified    
Version: rawhideCC: dracut-maint, harald, jonathan
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-07-03 08:07:25 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Valdis Kletnieks 2012-03-16 00:26:20 UTC
Description of problem:
So I decide to take the plung, add rd.convertfs to the initramfs, do a 'du -s' on the 4 directories that will move, see a total of 600M or so, while df on my already-extant /usr partition has like 1.3G free.  Reboot, and it chugs for 5 minutes, and fails for no immediately obvious reason.  'dmesg | grep dracut' finds me zillions of 'out of space' messages.  Took a while to realize that dracut copied the existing /usr/foo directories so it had an easy backout path if things failed.  rd.convertfs did work once I extended /usr by 2.5G.

RFE 1:  Should do a 'du -s' on the directories involved and a 'df' on the target /usr, and bail up front with a clear "target /usr needs nnnM more space" message.

RFE 2: Quit and clean up the instant the *first* 'cp' command runs out of space or otherwise errors. It's toast, there's no point in trying another 1,348 cp commands that dracut will just end up unwinding anyhow.

Version-Release number of selected component (if applicable):
dracut-016-9.git20120217.fc17.noarch

How reproducible:
Try to rc.convertfs a system with insufficient space on the /usr partition for the temporary copies of /usr/{bin,sbin,lib,lib64} plus files moving from /.

Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Harald Hoyer 2012-03-16 12:15:14 UTC
please retry with a more recent version of dracut.

actual version is: 
dracut-0:017-40.git20120308.fc17.noarch