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=3D233113

            Bug ID: 233113
           Summary: bectl activate fails to set canmount=3Dnoauto 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=3Dauto for the old boot enviro=
nment
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.

--=20
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>