diff options
author | Justus Winter <4winter@informatik.uni-hamburg.de> | 2014-05-14 11:19:35 +0200 |
---|---|---|
committer | Justus Winter <4winter@informatik.uni-hamburg.de> | 2015-04-17 14:06:46 +0200 |
commit | c16eed2cb64089bf7d958db0fe85352f4ceefb4d (patch) | |
tree | 3240f6e025fa4c4fb47d7d270f285a7f0f9612e4 /libdiskfs/node-nrefl.c | |
parent | 8c050fb080c6e1981dc8e5a97a2313cd24e9b4b4 (diff) | |
download | hurd-c16eed2cb64089bf7d958db0fe85352f4ceefb4d.tar.gz hurd-c16eed2cb64089bf7d958db0fe85352f4ceefb4d.tar.bz2 hurd-c16eed2cb64089bf7d958db0fe85352f4ceefb4d.zip |
libdiskfs: lock-less reference counting of nodes
* libdiskfs/diskfs.h (struct node): Use refcounts_t for reference counting.
(diskfs_node_refcnt_lock): Remove.
(diskfs_node_norefs,diskfs_drop_node): Change comments accordingly.
* libdiskfs/init-init.c: Adjust accordingly.
* libdiskfs/node-drop.c: Likewise.
* libdiskfs/node-make.c: Likewise.
* libdiskfs/node-nput.c: Likewise.
* libdiskfs/node-nputl.c: Likewise.
* libdiskfs/node-nref.c: Likewise.
* libdiskfs/node-nrefl.c: Likewise.
* libdiskfs/node-nrele.c: Likewise.
* libdiskfs/node-nrelel.c: Likewise.
* ext2fs/inode.c: Likewise.
* fatfs/inode.c: Likewise.
* isofs/inode.c: Likewise.
* tmpfs/node.c: Likewise.
* doc/hurd.texi: Likewise.
Diffstat (limited to 'libdiskfs/node-nrefl.c')
-rw-r--r-- | libdiskfs/node-nrefl.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/libdiskfs/node-nrefl.c b/libdiskfs/node-nrefl.c index 96922471..f7a823de 100644 --- a/libdiskfs/node-nrefl.c +++ b/libdiskfs/node-nrefl.c @@ -24,7 +24,5 @@ void diskfs_nref_light (struct node *np) { - pthread_spin_lock (&diskfs_node_refcnt_lock); - np->light_references++; - pthread_spin_unlock (&diskfs_node_refcnt_lock); + refcounts_ref_weak (&np->refcounts, NULL); } |