Cannot destroy zfs filesystem: I/O error

Willem Toorop willem at NLnetLabs.nl
Mon Sep 5 11:43:54 UTC 2011


Hi,

Due to a crash, one of my zfs filesystems broke (see output of zpool
status -v below). According to the reference (
http://www.sun.com/msg/ZFS-8000-8A ) I just need the remove the broken
file or directory.
However tank/home/willem is a zfs filesystem itself. I cannot list, get
properties, rename or destroy it. With everything I try, a "I/O error"
is returned:

# zfs list tank/home/willem
cannot open 'tank/home/willem': I/O error

# zfs get all tank/home/willem
cannot open 'tank/home/willem': I/O error

# zfs rename tank/home/willem tank/home/willem2
cannot open 'tank/home/willem': I/O error

# zfs destroy tank/home/willem
cannot open 'tank/home/willem': I/O error

How do I get zfs to forget about tank/home/willem completely?

The error is really annoying as it also breaks regular zfs practice:

# zfs list -r tank/home
cannot iterate filesystems: I/O error
NAME                 USED  AVAIL  REFER  MOUNTPOINT
tank/home           46.2G   304G  2.91G  /home

This should have listed all home filesystems, but now only lists /home
and the error: "cannot iterate filesystems: I/O error".

-- Willem


zpool status -v
  pool: tank
 state: ONLINE
status: One or more devices has experienced an error resulting in data
	corruption.  Applications may be affected.
action: Restore the file in question if possible.  Otherwise restore the
	entire pool from backup.
   see: http://www.sun.com/msg/ZFS-8000-8A
 scrub: scrub completed after 0h14m with 1 errors on Mon Sep  5 00:30:44
2011
config:

	NAME        STATE     READ WRITE CKSUM
	tank        ONLINE       0     0    79
	  ad0s3d    ONLINE       0     0   161
	  ad0s4d    ONLINE       0     0   167
	  ad2s2d    ONLINE       0     0     0
	  ad2s1h    ONLINE       0     0     0

errors: Permanent errors have been detected in the following files:

        tank/home/willem:<0x0>


More information about the freebsd-fs mailing list