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