Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Nov 2018 18:40:37 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 233113] bectl activate fails to set canmount=noauto for old boot environment
Message-ID:  <bug-233113-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=233113

            Bug ID: 233113
           Summary: bectl activate fails to set canmount=noauto for old
                    boot environment
           Product: Base System
           Version: 12.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: bin
          Assignee: bugs@FreeBSD.org
          Reporter: asomers@FreeBSD.org

"bectl activate" is supposed to set canmount=auto for the old boot environment
and set the pool's bootfs property to the new boot environment.  That's what
beadm does.  However, bectl fails to clear canmount for the old boot
environment.  Observed on 12.0-BETA3

Example:

somers@threonine /> bectl list
BE                              Active Mountpoint Space Created
12.0-BETA4                      NR     /          9.45G 2018-11-10 10:09
12.0-BETA3                      -      -          1.52M 2018-11-08 09:35
12.0-CURRENT-up-20180401_231457 -      -          38.0G 2018-04-01 23:13
12.0-CURRENT-up-20180327_233010 -      -          13.2G 2018-03-27 23:28
somers@threonine /> zfs list -o name,mountpoint,canmount -r tank/ROOT
NAME                                       MOUNTPOINT  CANMOUNT
tank/ROOT                                  none              on
tank/ROOT/12.0-BETA3                       /             noauto
tank/ROOT/12.0-BETA4                       /                 on
tank/ROOT/12.0-CURRENT-up-20180327_233010  /             noauto
tank/ROOT/12.0-CURRENT-up-20180401_231457  /             noauto
somers@threonine /> sudo bectl create test
somers@threonine /> sudo bectl activate test
successfully activated boot environment test
somers@threonine /> zpool get bootfs tank
NAME  PROPERTY  VALUE           SOURCE
tank  bootfs    tank/ROOT/test  local
somers@threonine /> zfs list -o name,mountpoint,canmount -r tank/ROOT
NAME                                       MOUNTPOINT  CANMOUNT
tank/ROOT                                  none              on
tank/ROOT/12.0-BETA3                       /             noauto
tank/ROOT/12.0-BETA4                       /                 on
tank/ROOT/12.0-CURRENT-up-20180327_233010  /             noauto
tank/ROOT/12.0-CURRENT-up-20180401_231457  /             noauto
tank/ROOT/test                             /             noauto

!!!! 12.0-BETA4 still has CANMOUNT set to on !!!!

But beadm has no problem here:

somers@threonine /> sudo beadm activate 12.0-BETA4
Activated successfully
somers@threonine /> sudo beadm destroy test
Are you sure you want to destroy 'test'?
This action cannot be undone (y/[n]): y
Destroyed successfully
somers@threonine /> zfs list -o name,mountpoint,canmount -r tank/ROOT
NAME                                       MOUNTPOINT  CANMOUNT
tank/ROOT                                  none              on
tank/ROOT/12.0-BETA3                       /             noauto
tank/ROOT/12.0-BETA4                       /                 on
tank/ROOT/12.0-CURRENT-up-20180327_233010  /             noauto
tank/ROOT/12.0-CURRENT-up-20180401_231457  /             noauto
somers@threonine /> sudo beadm create test
Created successfully
somers@threonine /> sudo beadm activate test
Activated successfully
somers@threonine /> zpool get bootfs tank
NAME  PROPERTY  VALUE           SOURCE
tank  bootfs    tank/ROOT/test  local
somers@threonine /> zfs list -o name,mountpoint,canmount -r tank/ROOT
NAME                                       MOUNTPOINT  CANMOUNT
tank/ROOT                                  none              on
tank/ROOT/12.0-BETA3                       /             noauto
tank/ROOT/12.0-BETA4                       /             noauto
tank/ROOT/12.0-CURRENT-up-20180327_233010  /             noauto
tank/ROOT/12.0-CURRENT-up-20180401_231457  /             noauto
tank/ROOT/test                             /             noauto


This bug renders the new boot environment unbootable, because two root
filesystems get mounted, making devfs invisible.  So it's a pretty critical
bug.

-- 
You are receiving this mail because:
You are the assignee for the bug.


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-233113-227>