Bug 530778

Summary: Insufficient check for space on /boot - %post script fails
Product: [Fedora] Fedora Reporter: Mads Kiilerich <mads>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: low    
Version: 12CC: dougsland, ffesti, gansalmon, itamar, james.antill, jnovy, kernel-maint, maxamillion, pmatilai, tim.lauridsen
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-12-13 14:28:24 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 Mads Kiilerich 2009-10-24 23:57:34 UTC
Description of problem:

Yum checks for available disk space before installing. But it seems like the check for space on /boot isn't sufficient for kernel installation:

[root@localhost ~]# yum -y update --skip-broken --enablerepo rawhide-debuginfo
...
---> Package kernel-PAE.i686 0:2.6.31.5-96.fc12 set to be installed
---> Package kernel-devel.i686 0:2.6.31.5-96.fc12 set to be installed
...
  Installing     : kernel-PAE-2.6.31.5-96.fc12.i686              23/83 
W: Possible missing firmware ql8100_fw.bin for module qla2xxx.ko
W: Possible missing firmware aic94xx-seq.fw for module aic94xx.ko

gzip: stdout: No space left on device
grubby: error writing ../boot/grub/grub.conf-: No space left on device
...
  Cleanup        : gnome-screensaver-2.28.0-1.fc12.i686          68/83 

grubby: error writing ../boot/grub/grub.conf-: No space left on device
  Cleanup        : kernel-PAE.i686                               69/83 
...
[root@localhost ~]# grep 2.6.31.5 /boot/grub/grub.conf 
[root@localhost ~]# 


I assume it is hard to predict how big the created initrd is, but IIRC yum takes its precautions. Perhaps the new initramfs has new requirements?


(Minor detail: It seems odd that what _must_ be output from kernel uninstall appears before the progress info. Missing flush of stdout/stderr?)


Version-Release number of selected component (if applicable):
yum-3.2.25-1.fc12.noarch

Comment 1 seth vidal 2009-10-26 01:44:24 UTC
yum doesn't do the disk space check itself. It lets rpm do it.

reassigning.

Comment 2 Panu Matilainen 2009-10-26 06:41:32 UTC
Disk space on /boot is checked like everything else, but rpm has no way of knowing beforehand how much disk space scriptlets are going to consume. Especially in the case kernel and /boot that's a lot, even more so since dracut by default creates some kind of "universal" initrd with all the drivers included.

The size of %ghost files is included in the packages and accounted for when checking for disk space requirements, despite the file not actually being included in the package payload. The kernel package should create files of approximate initrd size for the initrd file instead of just touch'ing it, that'll enable rpm to make better estimate of the space needed although it can't be fully accurate as the initrd size can vary between hosts.

Comment 3 Dave Jones 2009-10-26 21:58:28 UTC
I checked in a diff to f12 & devel that replaces the touch with a 20MB dd from /dev/zero.

Comment 4 Bug Zapper 2009-11-16 14:14:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 12 development cycle.
Changing version to '12'.

More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 5 Mads Kiilerich 2009-12-13 14:28:24 UTC
Seems to be solved, closing.