> 4. While reading an offline disk causes errors, writing does not!
>    *** CAUSES DATA LOSS ***
>
> This is a big one:  ZFS can continue writing to an unavailable pool.  It 
> doesn't always generate errors (I've seen it copy over 100MB
> before erroring), and if not spotted, this *will* cause data loss after you 
> reboot.
>
> I discovered this while testing how ZFS coped with the removal of a hot plug 
> SATA drive.  I knew that the ZFS admin tools were
> hanging, but that redundant pools remained available.  I wanted to see 
> whether it was just the ZFS admin tools that were failing,
> or whether ZFS was also failing to send appropriate error messages back to 
> the OS.
>

This is not unique for zfs. If you need to know that your writes has
reached stable store you have to call fsync(). It is not enough to
close a file. This is true even for UFS, but UFS won't delay writes
for all operations so you will notice faster. But you will still loose
data.

I have been able to undo rm -rf / on a FreeBSD system by pulling the
power cord before it wrote the changes...

Databases use fsync (or similar) before they close a transaction, that
one of the reasons that databases like hardware write caches.
cp will not.
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to