HomeFreeBSD

6428 set canmount=off on unmounted filesystem tries to unmount children

Description

6428 set canmount=off on unmounted filesystem tries to unmount children

illumos/illumos-gate@c079fa4d202eff15e318131c52755d214ffa2da7
https://github.com/illumos/illumos-gate/commit/c079fa4d202eff15e318131c52755d214ffa2da7

https://www.illumos.org/issues/6428

Scenario:
$ zfs create rpool/p
$ zfs set canmount=noauto rpool/p
$ zfs umount rpool/p
$ zfs create rpool/p/c
$ zfs get -r mounted,canmount rpool/p
NAME             PROPERTY  VALUE     SOURCE
rpool/p    mounted   no        -
rpool/p    canmount  noauto    local
rpool/p/c  mounted   yes       -
rpool/p/c  canmount  on        default
In another shell ensure that rpool/p/c is in use, for example:
$ cd /rpool/p/c
Then:
$ zfs set canmount=off rpool/p
cannot unmount '/rpool/p/c': Device busy
But there is no reason to try to unmount rpool/p/c in this scenario.

Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Approved by: Gordon Ross <gordon.w.ross@gmail.com>
Author: Andriy Gapon <andriy.gapon@clusterhq.com>

Details

Provenance
avgAuthored on
Reviewer
matthew
Parents
rS308988: 7199, 7200 dsl_dataset_rollback_sync may try to free already free blocks
Branches
Unknown
Tags
Unknown