Bug 891447 - FSError: mount failed: (20, 'Not a directory')
Summary: FSError: mount failed: (20, 'Not a directory')
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: anaconda
Version: 18
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: Anaconda Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-01-03 00:05 UTC by Reartes Guillermo
Modified: 2013-05-10 04:04 UTC (History)
7 users (show)

Fixed In Version: anaconda-19.0-1
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-05-10 04:04:03 UTC
Type: Bug


Attachments (Terms of Use)
screenshot of manual partitionig (94.06 KB, image/png)
2013-01-03 00:05 UTC, Reartes Guillermo
no flags Details
storage.log (205.10 KB, text/plain)
2013-01-03 00:06 UTC, Reartes Guillermo
no flags Details
program.log (60.45 KB, text/plain)
2013-01-03 00:06 UTC, Reartes Guillermo
no flags Details
anaconda.log (37.72 KB, text/plain)
2013-01-03 00:07 UTC, Reartes Guillermo
no flags Details
anaconda tb (615.59 KB, text/plain)
2013-01-03 00:08 UTC, Reartes Guillermo
no flags Details
anaconda-tb-GZB1qL (450.35 KB, text/plain)
2013-01-07 16:27 UTC, Steve Tyler
no flags Details
anaconda-tb-6BDzNC (459.16 KB, text/plain)
2013-01-07 18:14 UTC, Steve Tyler
no flags Details

Description Reartes Guillermo 2013-01-03 00:05:57 UTC
Created attachment 671781 [details]
screenshot of manual partitionig

Description of problem:

In manual partitioning, i created a /boot, / and swap.
Then i created other small filesystems whose mountpoint were:
/dev/null, /dev/zero, /dev/console and /dev/sda.

Anaconda accepted the storage configuration. I do not believe that
is safe to put data filesystems under /dev ...

I was able to at least start the installation.

Version-Release number of selected component (if applicable):
smoke12 (18.37.8)

How reproducible:
always

Steps to Reproduce:
1. do manual partitioning, create /,/boot,swap
2. create /dev/null of 256mb
3. repeat that for /dev/zero, /dev/console and /dev/sda.
  
Actual results:
anaconda crashes

Expected results:
warn or prevent the user from mounting stuff under /dev

Additional info:
abrt pointed to 889332 which seems a bit different.

Comment 1 Reartes Guillermo 2013-01-03 00:06:22 UTC
Created attachment 671782 [details]
storage.log

Comment 2 Reartes Guillermo 2013-01-03 00:06:58 UTC
Created attachment 671783 [details]
program.log

Comment 3 Reartes Guillermo 2013-01-03 00:07:38 UTC
Created attachment 671791 [details]
anaconda.log

Comment 4 Reartes Guillermo 2013-01-03 00:08:56 UTC
Created attachment 671796 [details]
anaconda tb

anaconda 18.37.8 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 630, in mount
    raise FSError("mount failed: %s" % e)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 860, in setup
    return self.mount(**kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 2878, in mountFilesystems
    chroot=rootPath)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 1655, in mountFilesystems
    readOnly=readOnly, skipRoot=skipRoot)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 193, in turnOnFilesystems
    skipRoot=False)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 114, in doInstall
    turnOnFilesystems(storage)
  File "/usr/lib64/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
    threading.Thread.run(self, *args, **kwargs)
FSError: mount failed: (20, 'Not a directory')

Comment 5 Steve Tyler 2013-01-07 16:27:13 UTC
Created attachment 674158 [details]
anaconda-tb-GZB1qL

Create a mount point /proc/mounts.
NB: This was identified as a duplicate of Bug 889332.

anaconda 18.37.10 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 630, in mount
    raise FSError("mount failed: %s" % e)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 860, in setup
    return self.mount(**kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 2878, in mountFilesystems
    chroot=rootPath)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 1655, in mountFilesystems
    readOnly=readOnly, skipRoot=skipRoot)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 193, in turnOnFilesystems
    skipRoot=False)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 114, in doInstall
    turnOnFilesystems(storage)
  File "/usr/lib64/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
    threading.Thread.run(self, *args, **kwargs)
FSError: mount failed: (20, 'Not a directory')

Local variables in innermost frame:
chroot: /mnt/sysimage
e: (20, 'Not a directory')
self: existing ext4 filesystem mounted at /proc/mounts
args: ()
ret: None
kwargs: {'chroot': '/mnt/sysimage', 'options': 'defaults'}
mountpoint: /proc/mounts
options: defaults
chrootedMountpoint: /mnt/sysimage/proc/mounts

Comment 6 Steve Tyler 2013-01-07 18:14:25 UTC
Created attachment 674242 [details]
anaconda-tb-6BDzNC

Create mount point /sys/fs/cgroup/systemd.

anaconda 18.37.10 exception report
Traceback (most recent call first):
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 630, in mount
    raise FSError("mount failed: %s" % e)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/formats/fs.py", line 860, in setup
    return self.mount(**kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 2878, in mountFilesystems
    chroot=rootPath)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 1655, in mountFilesystems
    readOnly=readOnly, skipRoot=skipRoot)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/storage/__init__.py", line 193, in turnOnFilesystems
    skipRoot=False)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/install.py", line 114, in doInstall
    turnOnFilesystems(storage)
  File "/usr/lib64/python2.7/threading.py", line 504, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/lib64/python2.7/site-packages/pyanaconda/threads.py", line 91, in run
    threading.Thread.run(self, *args, **kwargs)
FSError: mount failed: (2, 'No such file or directory')

Local variables in innermost frame:
chroot: /mnt/sysimage
e: (2, 'No such file or directory')
self: existing ext4 filesystem mounted at /sys/fs/cgroup/systemd
args: ()
ret: None
kwargs: {'chroot': '/mnt/sysimage', 'options': 'defaults'}
mountpoint: /sys/fs/cgroup/systemd
options: defaults
chrootedMountpoint: /mnt/sysimage/sys/fs/cgroup/systemd

Comment 7 Adam Williamson 2013-05-10 04:04:03 UTC
Tested with F19 Beta TC3. It looks like anything under /dev , /proc , or /sys is now forbidden. However, other possibly problematic mount points that are not currently blocked are /selinux :

selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)

on a normal installed system, and /run :

tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

Kicking off an install with both of these created as partitions doesn't crash the installer, but I'm not sure it's going to give a working installed system.


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