lxc 'delete' fails to destroy ZFS filesystem 'dataset is busy'

Bug #1779156 reported by Scott Moser on 2018-06-28
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
High
Unassigned
Cosmic
High
Unassigned
lxc (Ubuntu)
Undecided
Unassigned
Cosmic
Undecided
Unassigned

Bug Description

I'm not sure exactly what got me into this state, but I have several lxc containers that cannot be deleted.

$ lxc info
<snip>
api_status: stable
api_version: "1.0"
auth: trusted
public: false
auth_methods:
- tls
environment:
  addresses: []
  architectures:
  - x86_64
  - i686
  certificate: |
    -----BEGIN CERTIFICATE-----
    <snip>
    -----END CERTIFICATE-----
  certificate_fingerprint: 3af6f8b8233c5d9e898590a9486ded5c0bec045488384f30ea921afce51f75cb
  driver: lxc
  driver_version: 3.0.1
  kernel: Linux
  kernel_architecture: x86_64
  kernel_version: 4.15.0-23-generic
  server: lxd
  server_pid: 15123
  server_version: "3.2"
  storage: zfs
  storage_version: 0.7.5-1ubuntu15
  server_clustered: false
  server_name: milhouse

$ lxc delete --force b1
Error: Failed to destroy ZFS filesystem: cannot destroy 'default/containers/b1': dataset is busy

Talking in #lxc-dev, stgraber and sforeshee provided diagnosis:

 | short version is that something unshared a mount namespace causing
 | them to get a copy of the mount table at the time that dataset was
 | mounted, which then prevents zfs from being able to destroy it)

The work around provided was

 | you can unstick this particular issue by doing:
 | grep default/containers/b1 /proc/*/mountinfo
 | then for any of the hits, do:
 | nsenter -t PID -m -- umount /var/snap/lxd/common/lxd/storage-pools/default/containers/b1
 | then try the delete again

ProblemType: Bug
DistroRelease: Ubuntu 18.10
Package: linux-image-4.15.0-23-generic 4.15.0-23.25
ProcVersionSignature: Ubuntu 4.15.0-23.25-generic 4.15.18
Uname: Linux 4.15.0-23-generic x86_64
NonfreeKernelModules: zfs zunicode zavl icp zcommon znvpair
ApportVersion: 2.20.10-0ubuntu3
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC1: smoser 31412 F.... pulseaudio
 /dev/snd/controlC2: smoser 31412 F.... pulseaudio
 /dev/snd/controlC0: smoser 31412 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Thu Jun 28 10:42:45 2018
EcryptfsInUse: Yes
InstallationDate: Installed on 2015-07-23 (1071 days ago)
InstallationMedia: Ubuntu 15.10 "Wily Werewolf" - Alpha amd64 (20150722.1)
MachineType: b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff' b'\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff'
ProcEnviron:
 TERM=xterm-256color
 PATH=(custom, no user)
 XDG_RUNTIME_DIR=<set>
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.15.0-23-generic root=UUID=f897b32a-eacf-4191-9717-844918947069 ro quiet splash vt.handoff=1
RelatedPackageVersions:
 linux-restricted-modules-4.15.0-23-generic N/A
 linux-backports-modules-4.15.0-23-generic N/A
 linux-firmware 1.174
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/09/2015
dmi.bios.vendor: Intel Corporation
dmi.bios.version: RYBDWi35.86A.0246.2015.0309.1355
dmi.board.asset.tag: ���������������������������������
dmi.board.name: NUC5i5RYB
dmi.board.vendor: Intel Corporation
dmi.board.version: H40999-503
dmi.chassis.asset.tag: ���������������������������������
dmi.chassis.type: 3
dmi.chassis.vendor: ���������������������������������
dmi.chassis.version: ���������������������������������
dmi.modalias: dmi:bvnIntelCorporation:bvrRYBDWi35.86A.0246.2015.0309.1355:bd03/09/2015:svn:pn:pvr:rvnIntelCorporation:rnNUC5i5RYB:rvrH40999-503:cvn:ct3:cvr:
dmi.product.family: ���������������������������������
dmi.product.name: ���������������������������������
dmi.product.version: ���������������������������������
dmi.sys.vendor: ���������������������������������

Scott Moser (smoser) wrote :

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → High
status: Confirmed → Triaged
tags: added: kernel-da-key
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in lxc (Ubuntu Cosmic):
status: New → Confirmed
Changed in lxc (Ubuntu):
status: New → Confirmed
Ryan Harper (raharper) wrote :

This is still around. Scott wrote up a script to handle cleaning this up.

https://gist.github.com/smoser/2c78cf54a1e22b6f05270bd3fead8a5c

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.