[Trac-bugs] [PC-BSD Trac] #345: Cannot create /tmp as mountpoint inside ZFS pool during 8.1 installation

PC-BSD trac at pcbsd.org
Fri Aug 13 23:27:23 PDT 2010


#345: Cannot create /tmp as mountpoint inside ZFS pool during 8.1 installation
---------------------------+------------------------------------------------
 Reporter:  gja            |       Owner:  kris
     Type:  System Defect  |      Status:  new 
 Priority:  major          |   Milestone:      
Component:  Installer      |     Version:  8.1 
 Keywords:                 |  
---------------------------+------------------------------------------------
 Installing PCBSD 8.1 from x64 DVD.

 Used the GUI to set up the following custom partitioning on ad1s1:

 - UFS 1G for /boot[[BR]]
 - SWAP of 8G[[BR]]
 - 'basic' ZFS of the rest for /home, /var, /tmp, /, /usr and
 /Programs[[BR]]

 (arguably a not-unreasonable configuration so one can later set separate
 ZFS quotas on each mountpoint's file system)

 Installer correctly creates tank0/, tank0/usr, tank0/home, etc, and then
 proceeds through "pc-sysinstall: Starting Extraction" and "pc-sysinstall:
 Extraction Finished" steps.

 However, during final tidying up and resetting of ZFS mountpoints,
 installation fails with "encountered an error and has been halted, do you
 want to generate an error report?" with only "Yes/No" as options (i.e.
 missing the "Show details..." option I expected to see).

 I said "Yes", but no error log was created. Instead, the GUI installer
 simply asked if I wanted to reboot now.

 Short version: It appears that when the installer back-end attempted "zfs
 set mountpoint=/tmp tank0/tmp" (while tidying up the zfs mountpoints) it
 mounted over the top of the active /tmp, which then caused the installer
 to loose its little brain ;)  Things go bad.

 Long version: Rather than reboot, I switched back to 2nd console (ctl-
 alt-F1, then alt-F2) logged in as root and was able to extract the
 following "zfs list" output:

 {{{
 NAME             USED  AVAIL  REFER  MOUNTPOINT
 tank0           5.68G  62.2G   230M  /mnt
 tank0/Programs    18K  62.2G    18K  /mnt/Programs
 tank0/home      4.28M  62.2G  4.28M  /mnt/home
 tank0/tmp       25.5K  62.2G  25.5K  /tmp
 tank0/usr       5.41G  62.2G  5.41G  /usr
 tank0/var       42.6M  62.2G  42.6M  /var
 }}}

 This suggests to me (although I'm not expert) that the installer barfed in
 the middle of resetting zfs mountpoints away from /mnt and onto their
 "correct" locations, and that /tmp was the last one appropriately reset.

 Output from "df -h" supports the hypothesis:

 {{{
 Filesystem             Size    Used   Avail Capacity  Mounted on
 /dev/ufs/ROOTFS         26M     18M    6.0M    75%    /
 devfs                  1.0K    1.0K      0B   100%    /dev
 /dev/md6               7.5M     78K    6.8M     1%    /tmp
 /dev/md2               118M    114M   -6.0M   106%    /uzip
 /dev/md7.uzip          998M    291M    628M    32%    /usr
 /root/SysInstaller      26M     18M    6.0M    75%
 /usr/PCBSD/SysInstaller
 /root/pc-sysinstall     26M     18M    6.0M    75%    /usr/PCBSD/pc-
 sysinstall
 tank0                   62G    230M     62G     0%    /mnt
 tank0/Programs          62G     18K     62G     0%    /mnt/Programs
 tank0/home              62G    4.3M     62G     0%    /mnt/home
 /dev/acd0              3.3G    3.3G      0B   100%    /cdmnt-install
 /dev/ad0s2a            989M    152M    758M    17%    /mnt/boot-mount
 tank0/tmp               62G     27K     62G     0%    /tmp
 }}}

 Notice that tank0/tmp and tmpfs are both mounted on /tmp.

 Ultimately, the backend installer should figure out a safe way for the
 user to nominate /tmp as a valid ZFS mountpoint (which would be my
 preference), or the GUI frontend should check for anyone attempting this
 configuration and warn them it wont work (before the long extracting
 process is underway).

 Hope this feedback is of some help.

 cheers,[[BR]]
 gja

-- 
Ticket URL: <http://trac.pcbsd.org/ticket/345>
PC-BSD <http://trac.pcbsd.org>
PC-BSD Project Management


More information about the Trac-bugs mailing list