If sync=disabled is set, I understand that the ZIL isn't written to disk and, instead, changes are written directly to disk. Aside from possibly inconsistent data from an application-standpoint due, especially in networked situations where data that is supposedly committed is not and thus not written after storage comes back on-line, are there any other data corruption risks? More specifically, if I have a snapshot I have previously taken of the data, is that data at risk of being corrupted?
For example, suppose I have some kiosk machines running off an iSCSI volume that I restore to a snapshot daily. Suppose, further, that I've disabled sync and the server crashes mid-write (perhaps updating some file system structures). Is it guaranteed that if I run a zfs rollback operation that the snapshot I roll back to is still consistent and that any other volumes in the same pool (say, with sync=always) are not trashed?
If it matters, I'm running Solaris 11.3 or 11.4.