# Update protocol ZFS opens up new methods to safely update the system. These methods are described in this section in combination with general practises to maintain ZFS filesystems. ## Pre-update To be able to rollback the system after a system update one may create a snapshot of the root filesystem. ``` # zfs snapshot tank/root/alpine@previous ``` > Tip:`zfs list -t snapshot` can be used to list snapshost and `zfs destroy` can be used to remove snapshots. ## Update Perform a system update. ``` # apk upgrade # reboot ``` If the system does not behave accordingly after reboot, one may rollback to the previous snapshot. ``` # zfs rollback -r tank/root/alpine@previous ``` ## Post-update To maintain the performance of the SSDs in the system, perform a trim on the zfs-pool. ``` # zpool trim --secure --wait tank ``` > Some devices may not support the option `--secure`. Thereafter, perform a scrub on the zfs-pool which checks and repairs the data in the pool. ``` # zpool scrub tank ``` This may take a while, the progress can be checked with: ``` # zpool status tank ``` > A ZFS scrub only repairs if mirror or a zraid mode is set in the pool.