Hi,

if you are regarding only changes to a file as transactions,
then flock() and fsync() is sufficient to reach ACID level with ZFS.

To achieve transactions which change multiple files,
you need flock(), fsync() and use snapshots for transaction commit or
rollback for transaction abort.
But the performance and grade of parallelity sucks.

with zfs sync=always pool  you will not get transactions, because
you have no chance to commit or abort the transaction.

The I in ACID needs isolated access to the data, but you cannot see,
when the data is consistent (C).

Therefore we would need a transaction interface to ZFS to gain ACID capability.
It is not possible to get it with the current API to ZFS,
without the use of a database.


Regards,

      Ulrich


----- Original Message -----
From: mi...@task.gda.pl
To: zfs-discuss@opensolaris.org
Sent: Monday, July 19, 2010 2:26:37 PM GMT +01:00 Amsterdam / Berlin / Bern / 
Rome / Stockholm / Vienna
Subject: Re: [zfs-discuss] Legality and the future of zfs...

On 12/07/2010 16:32, Erik Trimble wrote:
>
> ZFS is NOT automatically ACID. There is no guaranty of commits for 
> async write operations. You would have to use synchronous writes to 
> guaranty commits. And, furthermore, I think that there is a strong
>

# zfs set sync=always pool

will force all I/O (async or sync) to be written synchronously.

ps. still, I'm not saying it would made ZFS ACID.

-- 
Robert Milkowski
http://milek.blogspot.com

_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to