zpool export mpu1pool cannot export 'mpu1pool': pool is busy

Bug #1667838 reported by Andrey Arapov on 2017-02-24
This bug affects 1 person
Affects Status Importance Assigned to Milestone
zfs-linux (Ubuntu)
Colin Ian King

Bug Description

$ lsb_release -rd
Description: Ubuntu 16.04.2 LTS
Release: 16.04

Linux 4.4.0-64-generic

$ apt-cache policy zfsutils-linux

# modinfo zfs |head
filename: /lib/modules/4.4.0-64-generic/kernel/zfs/zfs/zfs.ko

I was not able to unmount a ZFS pool:

# zpool export mpu1pool
cannot export 'mpu1pool': pool is busy

The filesystems were unmounted and there was nothing that would be blocking them FS.
Neither sync, echo 3 > /proc/sys/vm/drop_caches helped.

The only way worked to export a ZFS pool was to turn off the SWAP:

# lsof -Pn |grep -i mpu1
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
# free -mh
              total used free shared buff/cache available
Mem: 7.7G 5.1G 502M 837M 2.1G 1.0G
Swap: 8.0G 428M 7.6G

# swapoff -a
# free -mh
              total used free shared buff/cache available
Mem: 7.7G 1.5G 4.8G 366M 1.4G 5.2G
Swap: 0B 0B 0B

# zpool export mpu1pool
# echo $?
# swapon -a

It is not obvious that the SWAP has to be freed before one can export ZFS pool.
Would it be possible to improve this situation?

Kind regards,
Andrey Arapov

Changed in zfs-linux (Ubuntu):
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → Colin Ian King (colin-king)
Colin Ian King (colin-king) wrote :

Internally zpool export will call unshare and umount, so a "pool is busy" indicates that process(es) has/have one or more files open and so this operation fails.

One can check for these processes using either:

lsof -Pn


fuser -vm /poolname

(where poolname is the name of your pool)

and it's worth checking the status of the pool using:

zpool status -v

Changed in zfs-linux (Ubuntu):
status: In Progress → Incomplete
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers