Todd Moore wrote:
> My understanding is that the answers to the questions posed below are both 
> YES due the transactional design of ZFS.  However, I'm working with some 
> folks that need more details or documents describing the design/behavior 
> without having to look through all the source code.  
> 
> [b]Scenario 1[/b]
> * Create file
> * Open and Write data to file
> * Issue fsync() call for file
> 
> [b]Question:[/b]  Is it guaranteed that the write to the directory occurs 
> prior to the write to the file?  
>

Yes, this is guaranteed.

> 
> [b]Scenario 1[/b]
> * Write an extended attribute (such as a file version number) for a file.
> * Open and Write data to file
> * Issue fsync() call for file
> 
> [b]Question:[/b]  Is it guaranteed that the extended attribute write occurs 
> prior to the write to the file?  
>  

Again yes this is guaranteed in ZFS. ZFS writes all transactions related to
specified file and other transactions not related to the file
that may be needed to create the file.

> Additionally, is it possible that there are differences in this behavior as 
> relates to these scenarios between Solaris 10 U4 or a SXDE 01/08 
> implementation (snv_b79)?
>

No the zfs code has always been this way.

The ZIL which handles this behaviour is described at

http://blogs.sun.com/perrin/entry/the_lumberjack

but this maybe insufficient detail for you.

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

Reply via email to