Bug 229255 - RPM partition file size test throws error on stale autofs NFS mounts
RPM partition file size test throws error on stale autofs NFS mounts
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: rpm (Show other bugs)
3.0
All Linux
medium Severity high
: ---
: ---
Assigned To: Panu Matilainen
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-02-19 14:39 EST by Chris McKenzie
Modified: 2007-11-30 17:07 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-10-19 14:38:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Chris McKenzie 2007-02-19 14:39:01 EST
Description of problem:
Configured autofs to auto mount a remote NFS server mount point. The mount point
is present in /etc/mtab and accessible from the command line.

If the NFS server goes down and the mount point becomes stale/dead, any attempt
to access the mount will result in a network timeout, then related error:

# ls -al /mnt/autofs/users
ls: /mnt/autofs/users: Permission denied

IF you attempt to install an rpm while the mount is dead, rpm will throw an error:

# rpm -Uvh wget-1.10.2-0.30E.i386.rpm --force
error: failed to stat /mnt/autofs/users: Input/output error

This is due to an over reaching RPM partition size test. RPM knows which files
and directories it will attempt to write to during install, there's no need to
test disk space for every partition on the server.

This test is important, but inefficient and is the cause of many problems
reported on linux forums all over the net, which remain un-answered.

The --ignoresize parameter will skip the test and remove the error, but it
defeats the point of the test in this case.

Version-Release number of selected component (if applicable):
rpm-4.2.3-24_nonptl

How reproducible:
Everytime.

Steps to Reproduce:
1. Add any NFS mount point autofs or /etc/fstab.

In /etc/auto.master:
/mnt/autofs/  /etc/auto.ms --timeout=0

In /etc/auto.ms:
users -rw,soft,retrans=4,intr,rsize=8192,wsize=8192
192.168.1.100:/var/spool/postfix/users

Start up autofs and nfs respectively. Test that the NFS mount is accessible.

2. Stop the nfs daemon on the NFS server.

3. Test that access to the mount point times out.

4. Install any rpm. You can re-install the same rpm as well. Error should occur.
  
Actual results:
Mount point related error is displayed:

# rpm -Uvh wget-1.10.2-0.30E.i386.rpm --force
error: failed to stat /mnt/autofs/users: Input/output error

Expected results:
No error. I would expect RPM to not test unnecessary mounts for disk size.

Additional info:
The --ignoresize parameter should not be considered a work around. Also, the
argument that system wide disk space checking is necessary because %pre and
%post scripting might access partitions for which rpm files don't belong to
isn't reasonable. NFS mount point shouldn't be tested unless the rpm package
actually contains a file that is destined for said mount point.
Comment 1 Jeff Johnson 2007-02-19 16:48:17 EST
Yes.

This problem is fixed in rpm-4.4.8, as well as another obscure
errno return from having a fuse-ssh mounted file system.

UPSTREAM
Comment 2 Jeff Johnson 2007-02-19 16:51:09 EST
FYI: It is necessary to gather size form all mount points, as symlinks
may cross onto other mount points, and there is no way to know
that a priori with a single pass install.

Handling ESTALE is the usual issue however.
Comment 3 RHEL Product and Program Management 2007-10-19 14:38:38 EDT
This bug is filed against RHEL 3, which is in maintenance phase.
During the maintenance phase, only security errata and select mission
critical bug fixes will be released for enterprise products. Since
this bug does not meet that criteria, it is now being closed.
 
For more information of the RHEL errata support policy, please visit:
http://www.redhat.com/security/updates/errata/
 
If you feel this bug is indeed mission critical, please contact your
support representative. You may be asked to provide detailed
information on how this bug is affecting you.

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