On Mar 6, 2008, at 7:58 AM, Brian D. Horn wrote:

> Take a look at CR 6634371.  It's worse than you probably thought.

The only place i see ZFS mentioned in that bug report is regarding  
z_mapcnt.  Its being atomically inc/dec in zfs_addmap()/zfs_delmap()  
- so those are ok.

In zfs_frlock(), technically we should be using atomic_add_64(, 0),  
though locking isn't even necessary around checking z_mapcnt.  Its  
advisory in this case.

The ASSERT in zfs_delmap() is broken.  That should be fixed.  Not an  
issue on non-debug kernels (which our customers use).

The statement of:
"
> ZFS is not 32-bit safe.  There are a number of places in the ZFS  
> code where
> it is assumed that a 64-bit data object is being read atomically  
> (or set
> atomically).  It simply isn't true and can lead to weird and bugs.
"

is completely off though.

If you find other places in ZFS that have the problem mentioned in  
6634371, please let us know.

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

Reply via email to