# freebsd-update fetch install -> cause: zfs i/o error - all block copies unavailable



## nerozero (Jun 25, 2020)

hello,

I made this on fresh installed system (FreeBSD  12.1-RELEASE FreeBSD 12.1-RELEASE r354233 GENERIC  amd64):
`freebsd-update fetch install`

which ends up to be unable to boot with this error:

`zfs i/o error - all block copies unavailable`

system runs on zfs mirror with SSD as cache:

```
zpool status
  pool: zctc
 state: ONLINE
  scan: none requested
config:

    NAME             STATE     READ WRITE CKSUM
    zctc             ONLINE       0     0     0
      mirror-0       ONLINE       0     0     0
        mfisyspd0p3  ONLINE       0     0     0
        mfisyspd1p3  ONLINE       0     0     0
    cache
      mfisyspd2      ONLINE       0     0     0
```

I have tried to mount filesystem:

```
# mkdir /tmp/mnt; zpool import -R /tmp/mnt -f zctc
# ls -la /tmp/mnt
total 26
drwxr-xr-x  7 root  wheel  320 Jun 25 16:22 .
drwxrwxrwt  9 root  wheel  512 Jun 25 17:58 ..
drwxrwxrwt  6 root  wheel    6 Jun 25 11:38 tmp
drwxr-xr-x  5 root  wheel  192 Jun 25 16:22 usr
drwxr-xr-x  7 root  wheel  320 Jun 25 16:22 var
drwxr-xr-x  2 root  wheel    2 Jun 23 15:10 zctc

# zfs list
NAME                USED  AVAIL  REFER  MOUNTPOINT
zctc                332G  3.16T    88K  /tmp/mnt/zctc
zctc/ROOT          1.45G  3.16T    88K  none
zctc/ROOT/default  1.45G  3.16T  1.45G  /tmp/mnt
zctc/tmp            112K  3.16T   112K  /tmp/mnt/tmp
zctc/usr           1.67G  3.16T    88K  /tmp/mnt/usr
zctc/usr/home       164K  3.16T   164K  /tmp/mnt/usr/home
zctc/usr/ports     1010M  3.16T  1010M  /tmp/mnt/usr/ports
zctc/usr/src        704M  3.16T   704M  /tmp/mnt/usr/src
zctc/var            672K  3.16T    88K  /tmp/mnt/var
zctc/var/audit       88K  3.16T    88K  /tmp/mnt/var/audit
zctc/var/crash       88K  3.16T    88K  /tmp/mnt/var/crash
zctc/var/log        232K  3.16T   232K  /tmp/mnt/var/log
zctc/var/mail        88K  3.16T    88K  /tmp/mnt/var/mail
zctc/var/tmp         88K  3.16T    88K  /tmp/mnt/var/tmp
```

I dont see any boot directory there nor etc .... 

please help


----------



## nerozero (Jun 25, 2020)

I found this topic: https://forums.freebsd.org/threads/zfs-mirror-boot-failure-after-power-outage.69282/#post-445321
I also the PERC controller (in my case: PERC H330).... probably I have the same issue. 

There is nothing important on the server now, but could you please give me the hint - where is my root filesystem (from zfs) ?


----------



## SirDice (Jun 25, 2020)

nerozero said:


> - where is my root filesystem (from zfs)


It  should be on zctc/ROOT/default. It may not  be mounted  though, that's why it looks empty.


----------



## nerozero (Jun 26, 2020)

Just a note for others who will face same issue - mounting root dir in altroot-ed zpool
`zfs mount -v zctc/ROOT/default`


----------



## nerozero (Jul 3, 2020)

Resurrecting this thread. the issues is definitely not in the controller.
I had this today again. Now with mrsas enabled: hw.mfi.mrsas_enable="1"


```
Booting from Hard drive C:
Shortening read at 4294967280 from 16 to 15
ZFS: i/o error - all block copies unavailable
ZFS: cant`t read object set for dataset 89
ZFS: cant`t open root filesystem
zptzfsboot: failed to mount default pool zctc

FreeBSD/x86 boot
Default: zctc
boot:
```

this is happening after freebsd update .... It is already a third time!
coping a new  /boot  to a root system doesn't seems to solve this issue to me (as it described in a number of posts).

Any help is welcomed.


----------

