<feed xmlns='http://www.w3.org/2005/Atom'>
<title>teythoon/hurd.git/libnetfs, branch master</title>
<subtitle>Personal Hurd development repository</subtitle>
<id>https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master</id>
<link rel='self' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/'/>
<updated>2016-10-30T20:22:53Z</updated>
<entry>
<title>Mark library stubs as weak</title>
<updated>2016-10-30T20:22:53Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2016-10-30T20:15:47Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=267995f0c2aea8030c6126f62dc41ff63d80caa7'/>
<id>urn:sha1:267995f0c2aea8030c6126f62dc41ff63d80caa7</id>
<content type='text'>
So that static linking of e.g. console.static can work.

* libdiskfs/io-stubs.c (diskfs_S_io_readsleep, diskfs_S_io_eofnotify,
diskfs_S_io_postnotify, diskfs_S_io_readnotify): Mark weak.
* libnetfs/fsstubs.c (netfs_S_file_notice_changes, netfs_S_file_getfh,
netfs_S_ifsock_getsockaddr): Likewise.
* libnetfs/fsysstubs.c (netfs_S_fsys_getfile: netfs_S_fsys_getpriv,
netfs_S_fsys_init, netfs_S_fsys_forward, netfs_S_fsys_startup):
Likewise.
* libpager/stubs.c (_pager_S_memory_object_copy,
_pager_S_memory_object_data_write,
_pager_S_memory_object_supply_completed): Likewise.
* libtrivfs/fsys-stubs.c (trivfs_S_fsys_startup, trivfs_S_fsys_getpriv,
trivfs_S_fsys_init, trivfs_S_fsys_getfile): Likewise.
* libtrivfs/io-stubs.c (trivfs_S_io_map_cntl, trivfs_S_io_get_conch,
trivfs_S_io_release_conch, trivfs_S_io_eofnotify, trivfs_S_io_prenotify,
trivfs_S_io_postnotify, trivfs_S_io_readsleep, trivfs_S_io_sigio,
trivfs_S_io_readnotify): Likewise.
</content>
</entry>
<entry>
<title>Avoid superfluous locking of node</title>
<updated>2016-05-19T20:28:33Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@gnupg.org</email>
</author>
<published>2016-04-24T22:54:08Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=04cfa521cd6f38d7cd735ead5b7978390664042e'/>
<id>urn:sha1:04cfa521cd6f38d7cd735ead5b7978390664042e</id>
<content type='text'>
* libdiskfs/io-restrict-auth.c (diskfs_S_io_restrict_auth): Do not
lock the associated node.  No operation here needs synchronization.
* libnetfs/io-restrict-auth.c (netfs_S_io_restrict_auth): Likewise.
</content>
</entry>
<entry>
<title>libnetfs: treat disconnected shadow roots as virtual roots</title>
<updated>2016-05-19T20:27:37Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@gnupg.org</email>
</author>
<published>2016-04-21T15:51:40Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=7dbebff1ff08d347aad14e76e371f1cb6991dac7'/>
<id>urn:sha1:7dbebff1ff08d347aad14e76e371f1cb6991dac7</id>
<content type='text'>
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Treat a shadow_root with
null shadow_root_parent as a "virtual root".

Analog to 6875a586.
</content>
</entry>
<entry>
<title>Unify the short-circuit translator logic</title>
<updated>2016-05-19T20:27:37Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@gnupg.org</email>
</author>
<published>2016-04-18T19:53:28Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=13efe6721a370c38b65e0da3d33f310f42cfa05f'/>
<id>urn:sha1:13efe6721a370c38b65e0da3d33f310f42cfa05f</id>
<content type='text'>
* libdiskfs/dir-lookup.c (short_circuited_callback1): Move function to
libfshelp.
(diskfs_S_dir_lookup): Use the function from libfshelp instead.
* libdiskfs/fsys-getroot.c (diskfs_S_fsys_getroot): Adapt accordingly.
* libdiskfs/trans-callback.c (_diskfs_translator_callback2_fn): Likewise.
* libfshelp/fetch-root.c (fshelp_short_circuited_callback1): New function.
* libfshelp/fshelp.h (struct fshelp_stat_cookie): New definition.
(fshelp_short_circuited_callback1): New prototype.
* libnetfs/dir-lookup.c (short_circuited_callback1): Drop function.
(netfs_S_dir_lookup): Use the function from libfshelp instead.
* libnetfs/fsys-getroot.c (netfs_S_fsys_getroot): Adapt accordingly.
* libnetfs/trans-callback.c (_netfs_translator_callback2_fn): Likewise.
</content>
</entry>
<entry>
<title>libnetfs: rename 'diruser' to 'dircred'</title>
<updated>2016-05-19T20:27:37Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@gnupg.org</email>
</author>
<published>2016-04-18T17:06:59Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=e15ef8f1a3ab358692d25a688496bde463daf948'/>
<id>urn:sha1:e15ef8f1a3ab358692d25a688496bde463daf948</id>
<content type='text'>
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Rename 'diruser' to
'dircred'.
</content>
</entry>
<entry>
<title>libnetfs: rename 'error' to 'err'</title>
<updated>2016-05-19T20:27:37Z</updated>
<author>
<name>Justus Winter</name>
<email>justus@gnupg.org</email>
</author>
<published>2016-04-18T17:00:31Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=14241d59414a9e525b2949befcc162059d6885be'/>
<id>urn:sha1:14241d59414a9e525b2949befcc162059d6885be</id>
<content type='text'>
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): Rename 'error' to 'err'.
</content>
</entry>
<entry>
<title>Fix access mode of temporary files</title>
<updated>2016-04-24T14:34:55Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2016-04-24T14:34:55Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=124921a0266412427613a404287205ec435f3364'/>
<id>urn:sha1:124921a0266412427613a404287205ec435f3364</id>
<content type='text'>
* libnetfs/dir-mkfile.c (netfs_S_dir_mkfile): Keep flags out of
OPENONLY_STATE_MODES, instead of flags of OPENONLY_STATE_MODES, for the
peropen's openstat.
</content>
</entry>
<entry>
<title>netfs: Remove global reference count lock.</title>
<updated>2016-03-21T18:45:11Z</updated>
<author>
<name>Flavio Cruz</name>
<email>flaviocruz@gmail.com</email>
</author>
<published>2016-03-15T08:50:02Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=5eef605eb523e4148ccd22578327492178cfd0c4'/>
<id>urn:sha1:5eef605eb523e4148ccd22578327492178cfd0c4</id>
<content type='text'>
* libnetfs/drop-node.c: Remove use of netfs_node_refcnt_lock.
* libnetfs/init-init.c: Remove netfs_node_refcnt_lock.
* libnetfs/make-node.c: Initialize refcounts in refcounts_init.
* libnetfs/netfs.h: Use refcounts_t for tracking node references. Remove
netfs_node_refcnt_lock. Add netfs_nref_light, netfs_nrele_light and
handler netfs_try_dropping_softrefs. Adjust comments.
* libnetfs/nput.c: Use refcounts_t. Call netfs_try_dropping_softrefs to
remove any soft reference that the translator might have acquired
during the lifetime of the node. Implement empty
netfs_try_dropping_softrefs.
* libnetfs/nref.c: Implement netfs_nref_light.
* libnetfs/nrele.c: Use refcounts_t and netfs_try_dropping_softrefs.
Implement netfs_nrele_light.
* ftpfs/dir.c: Use netfs_nref without locking the old
netfs_node_refcnt_lock.
* ftpfs/node.c: Likewise.
* usermux/mux.c: Use netfs_nref to increase hard references of the node.
* hostmux/mux.c: Use netfs_nref to increase hard references of the node.
* trans/fakeroot.c (new_node): Use a light reference when storing a node in the
hash table.
* trans/fakeroot.c (netfs_try_dropping_softrefs): Implement
netfs_try_dropping_softrefs to remove the node from the hash table.
* trans/fakeroot.c (netfs_node_norefs): Remove code to remove the node
from the hash table.
* trans/fakeroot.c (netfs_S_dir_lookup): Simplify lookup code since we
don't need to lock netfs_node_refcnt_lock anymore.
* procfs/netfs.c: Remove use of netfs_node_refcnt_lock.
* nfs/cache.c: Add mutex to handle exclusive access to nodehash. This
replaces the use of netfs_node_refcnt_lock.
* nfs/cache.c (lookup_handle): Use nodehash_ihash_lock when accessing
nodehash. Use netfs_nref_light to add one soft reference to the node
just added to nodehash.
* nfs/cache.c (netfs_node_norefs): Use netfs_nref. Don't use
netfs_node_refcnt_lock and don't remove the node from nodehash here.
* nfs/cache.c (netfs_try_dropping_softrefs): Drop the light reference
when the node has no more hard references.
* nfs/cache.c (recache_handle): Use nodehash_ihash_lock instead.
* nfs/ops.c (netds_attempt_unlink): Use refcounts_references.
* console/console.c (netfs_node_norefs): Use a soft reference to store
a node in dir_node, cons_node, disp_node, inp_node.
* console/console.c (netfs_try_dropping_softrefs): When dropping all
soft references remove node pointer from the fields above.
</content>
</entry>
<entry>
<title>Fix mustbedir mechanism for symlinks</title>
<updated>2016-02-28T00:56:11Z</updated>
<author>
<name>Samuel Thibault</name>
<email>samuel.thibault@ens-lyon.org</email>
</author>
<published>2016-02-28T00:52:11Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=6e8e837864d4e24c2fdb4d90e8eb262ded78c3a8'/>
<id>urn:sha1:6e8e837864d4e24c2fdb4d90e8eb262ded78c3a8</id>
<content type='text'>
* libdiskfs/dir-lookup.c (diskfs_S_dir_lookup): When following a symlink,
if mustbedir is true, always append a slash to the symlink target, not only
when the target is absolute.  Reset mustbedir to 0 before continuing the
lookup loop.
* libnetfs/dir-lookup.c (netfs_S_dir_lookup): When following a symlink,
if mustbedir is true, append a slash to the symlink target. Reset mustbedir
to 0 before continuing the lookup loop.
* libtreefs/dir-lookup.c (_treefs_s_dir_lookup): Likewise.
</content>
</entry>
<entry>
<title>libnetfs: remove unused fields.</title>
<updated>2016-02-15T00:35:59Z</updated>
<author>
<name>Flavio Cruz</name>
<email>flaviocruz@gmail.com</email>
</author>
<published>2016-02-15T00:31:50Z</published>
<link rel='alternate' type='text/html' href='https://darnassus.sceen.net/cgit/teythoon/hurd.git/commit/?id=0788437e0953cdd6c8c4cdf25379d8704beb021c'/>
<id>urn:sha1:0788437e0953cdd6c8c4cdf25379d8704beb021c</id>
<content type='text'>
* libnetfs/netfs.h: Remove prevp and next fields from struct node.
</content>
</entry>
</feed>
