Displaying 11 results from an estimated 11 matches similar to: "Read-write locks in libzpool"
2007 Nov 24
19
R/W lock portability issue
Hi,
I am having a problem porting Solaris R/W lock functionality to Linux.
The problem is that RW_LOCK_HELD() doesn''t have an equivalent function
in pthreads.
This was not a problem before because RW_LOCK_HELD() was only used in
ASSERT statements. In this case, I was able to make it work by making it
behave a bit differently (specifically, it would return true if *any*
thread was
2010 Nov 19
5
[PATCH 1/1] Ocfs2: Teach 'coherency=full' O_DIRECT writes to correctly up_read i_alloc_sem.
Former logic of ocfs2_file_aio_write() was a bit stricky to unlock the rw_lock
and i_alloc_sem, by using some private bits in struct 'iocb' to communite with
ocfs2_dio_end_io(), it did work before we introduce the patch of supporting
'coherency=full,buffered' option, since rw_lock and i_alloc_sem were never
acquired both at the same time, no mattar we doing buffered or direct IO or
2007 Jan 23
4
Assertion in arc_change_state
Hi,
My current code is tripping the following assertion:
lib/libzpool/build-kernel/arc.c:736: arc_change_state: Assertion
`new_state->size + to_delta >= new_state->lsize (0x2a60000 >= 0x2a64000)`
failed.
gdb info:
Program terminated with signal 6, Aborted.
#0 0x00002afcd767847b in raise () from /lib/libc.so.6
(gdb) bt
#0 0x00002afcd767847b in raise () from /lib/libc.so.6
#1
2007 Sep 18
3
newbie question about a dbuf-arc eviction race
Hi,
Can a dbuf be in DB_CACHED state, db_holds == 0,
b_efunc != NULL while its db_buf is put on the
eviction list ? From an ASSERT in dbuf_do_evict(),
it appears that it can. If it can, I am wondering what
is preventing the following race
dbuf_hold_impl()
db = dbuf_find(dn, level, blkid);
...
if (db->db_buf && refcount_is_zero(&db->db_holds)) {
2007 Feb 18
3
Improper use of atomic_add_64().
Hi.
I noticed that when non-64bit variable is given as a second argument to
atomic_add_64() function, the result is invalid.
I found few places where such situation occurs. I wonder how this got
unnoticed with ztest, which fails on me within a few seconds (after I
started to use Solaris atomic operations) on assertions. Maybe this
only doesn''t work when compiled with gcc? Not sure, but
2023 May 20
3
[PATCH v21 22/30] ocfs2: Provide a splice-read stub
Provide a splice_read stub for ocfs2. This emits trace lines and does an
atime lock/update before calling filemap_splice_read(). Splicing from
direct I/O is handled by the caller.
A couple of new tracepoints are added for this purpose.
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Christoph Hellwig <hch at lst.de>
cc: Al Viro <viro at zeniv.linux.org.uk>
cc: Jens
2012 Jul 03
1
buildworld fails with clang
Hello,
9-STABLE fails to build with clang and *without* "NO_WERROR=" and
"WERROR=" in /etc/make.conf. It used to work not long before :
FreeBSD zozo.afpicl.lan 9.0-STABLE FreeBSD 9.0-STABLE #0 r237222M: Mon
Jun 18 10:18:54 CEST 2012
root@zozo.afpicl.lan:/usr/obj/usr/src/sys/CORE amd64
# svnversion
238067M
# make NOCLEAN=yes NO_CLEAN=yes buildworld
[...]
===> cddl/lib
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
2011 Jun 24
10
[PATCH 0/9] remove i_alloc_sem V2
i_alloc_sem has always been a bit of an odd "lock". It''s the only remaining
rw_semaphore that can be released by a different thread than the one that
locked it, and it''s use case in the core direct I/O code is more like a
counter given that the writers already have external serialization.
This series removes it in favour of a simpler counter scheme, thus getting
rid
2023 May 19
0
[PATCH v20 19/32] ocfs2: Provide a splice-read stub
Provide a splice_read stub for ocfs2. This emits trace lines and does an
atime lock/update before calling filemap_splice_read(). It doesn't do this
for around direct_splice_read() as that will call ->read_iter().
A couple of new tracepoints are added for this purpose.
Signed-off-by: David Howells <dhowells at redhat.com>
cc: Christoph Hellwig <hch at lst.de>
cc: Al Viro
2006 Dec 05
8
centos 4.4 + asterisk
Hello,
Are there any issues with Centos 4.4
and asterisk.
Thanks in advance
Varun