search for: rw_exit

Displaying 3 results from an estimated 3 matches for "rw_exit".

Did you mean: rc_exit
2008 Jul 29
2
Unexpected b_hdr change.
.... Kris (CCed) observed strange situation. In function arc_read() he had a panic on assertion that we try to unlock a lock which is not beeing held: rw_enter(&pbuf->b_hdr->b_datalock, RW_READER); err = arc_read_nolock(pio, spa, bp, done, private, priority, flags, arc_flags, zb); rw_exit(&pbuf->b_hdr->b_datalock); <--- THIS ONE The only possiblity was that b_hdr for pbuf was changed somewhere. We diagnozed this further and the b_hdr field is changed in arc_release() function, here: buf->b_hdr = nhdr; Backtrace for this change is the following: arc_release() at...
2007 Mar 13
0
fasttrap_disable_callbacks()
...; > } > > dtrace_pid_probe_ptr = NULL; > dtrace_return_probe_ptr = NULL; > > for (cur = cpu->cpu_next_onln; cur != cpu; > cur = cur->cpu_next_onln) { > rw_exit(&cur->cpu_ft_lock); > } > > I think this is trying to make the caller wait for any outstanding > fasttrap "traps" to finish, if they''ve already started. > > It looks to me like we lock every cpu except the one we are curre...
2007 May 09
5
Refactor zfs_zget()
Hi, Since almost all operations in the FUSE low-level API identify files by inode number, I''ve been using zfs_zget() to get the corresponding znode/vnode in order to call the corresponding VFS function in zfs_vnops.c. However, there are some cases when zfs_zget() behaves slightly different than I need: 1) If zp->z_unlinked != 0 then zfs_zget() returns ENOENT. I need it to return