1# ZFS {#sec-zfs-state}
2
3When using ZFS, `/etc/zfs/zpool.cache` should be persistent (or a symlink to a persistent
4location) as it is the default value for the `cachefile` [property](man:zpoolprops(7)).
5
6This cachefile is used on system startup to discover ZFS pools, so ZFS pools
7holding the `rootfs` and/or early-boot datasets such as `/nix` can be set to
8`cachefile=none`.
9
10In principle, if there are no other pools attached to the system, `zpool.cache`
11does not need to be persisted; it is however *strongly recommended* to persist
12it, in case additional pools are added later on, temporarily or permanently:
13
14While mishandling the cachefile does not lead to data loss by itself, it may
15cause zpools not to be imported during boot, and services may then write to a
16location where a dataset was expected to be mounted.