Bug 64256 - rpm no longer checks fat or vfat file system space on installs
rpm no longer checks fat or vfat file system space on installs
Product: Red Hat Linux
Classification: Retired
Component: rpm (Show other bugs)
All Linux
medium Severity high
: ---
: ---
Assigned To: Jeff Johnson
Depends On:
  Show dependency treegraph
Reported: 2002-04-30 15:33 EDT by Need Real Name
Modified: 2008-05-01 11:38 EDT (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2002-04-30 15:33:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Need Real Name 2002-04-30 15:33:33 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):

How reproducible:

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.

Additional info:

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

Suggested patch:

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)
-                   continue;
-               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);
Comment 1 Jeff Johnson 2002-06-05 15:01:35 EDT
Patch added in my next checkin, should be in rpm-4.1-0.23.

Note You need to log in before you can comment on or make changes to this bug.