Red Hat Bugzilla – Bug 64256
rpm no longer checks fat or vfat file system space on installs
Last modified: 2008-05-01 11:38:02 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.8) Gecko/20020204
Description of problem:
The rpm command checks for adequate disk space on installs, however
the addition of a check for sufficient inodes as well caused the
disk space check to be skipped for file systems that report useful
disk space via statfs, but not useful inode counts.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Attempt an rpm install to a fat or vfat file system w/o enough space
2.The install will fail to recognize the disk space problem
Actual Results: One botched install, half finished when it ran out of space.
Expected Results: I expected an error message instead.
This is particular critical for ia64 systems, which install kernels
to the /boot/efi directory, which is a vfat file system. Depending
on just how far one gets, one could get a system that the end user
doesn't know how to reboot again, which is why I rated this bug High
diff -Naur rpm-4.0.4.orig/lib/transaction.c rpm-4.0.4/lib/transaction.c
--- rpm-4.0.4.orig/lib/transaction.c Sun Feb 3 14:46:52 2002
+++ rpm-4.0.4/lib/transaction.c Tue Apr 30 12:28:25 2002
@@ -1895,11 +1895,7 @@
dip = ts->di + i;
- /* XXX Avoid FAT and other file systems that have not inodes. */
- if (dip->iavail <= 0)
- if (adj_fs_blocks(dip->bneeded) > dip->bavail)
+ if (dip->iavail > 0 && adj_fs_blocks(dip->bneeded) > dip->bavail)
psAppend(ts->probs, RPMPROB_DISKSPACE, fi->ap,
ts->filesystems[i], NULL, NULL,
(adj_fs_blocks(dip->bneeded) - dip->bavail) * dip->bsize);
Patch added in my next checkin, should be in rpm-4.1-0.23.