mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-06-25 10:38:00 +03:00
![]() There are three possible cases where dmu_tx_assign() may encounter a fatal error. When there is a true lack of free space (ENOSPC), when there is a lack of quota space (EDQUOT), or when data required to perform the transaction cannot be read from disk (EIO). See the dmu_tx_check_ioerr() function for additional details of on the motivation for check for I/O error early. Prior to this change dmu_tx_assign() would return the contents of tx->tx_err which covered a wide range of possible error codes (EIO, ECKSUM, ESRCH, etc). In practice, none of the callers could do anything useful with this level of detail and simply returned the error. Therefore, this change converts all tx->tx_err errors to EIO, adds ASSERTs to dmu_tx_assign() to cover the only possible errors, and clarifies the function comment to include EIO as a possible fatal error. Reviewed-by: Alexander Motin <mav@FreeBSD.org> Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Brian D Behlendorf <behlendo@slag12.llnl.gov> Closes #17463 |
||
---|---|---|
.. | ||
raidz_test | ||
zdb | ||
zed | ||
zfs | ||
zinject | ||
zpool | ||
zpool_influxdb | ||
zstream | ||
arc_summary | ||
arcstat.in | ||
dbufstat.in | ||
fsck.zfs.in | ||
Makefile.am | ||
mount_zfs.c | ||
zfs_ids_to_path.c | ||
zgenhostid.c | ||
zhack.c | ||
zilstat.in | ||
ztest.c | ||
zvol_wait |