summaryrefslogtreecommitdiff
path: root/hurd/fs.defs
diff options
context:
space:
mode:
authorJustus Winter <4winter@informatik.uni-hamburg.de>2014-08-31 14:47:42 +0200
committerJustus Winter <4winter@informatik.uni-hamburg.de>2014-08-31 17:40:46 +0200
commit334801c52c9844c06eacbe2e3af65852f7412e3c (patch)
treea17a8e828dcba6e868266a4ed30330b6584243ec /hurd/fs.defs
parentc5f866e17c72302d826b885f098b1c07d7abdbc7 (diff)
hurd: fix semantic of file_get_children
When first introduced as fsys_get_children, it made sense to return the list of children using paths relative to the root of the filesystem that was queried. Making the get_children method part of the fsys protocol was a mistake that has since been corrected in 9366d6b2. Instead of returning paths relative to the root of the translator, return paths relative to the path of the receiving node. This fixes a problem with the mtab translator. Previously, the mtab translator invoked on a target that was not the root directory of a translator would compute invalid paths, e.g.: /hurd/mtab: /any/path/servers/socket/26 No such file or directory * hurd/fs.defs (file_get_children): Update comment. * libfshelp/translator-list.c (fshelp_get_active_translators): Add argument PREFIX. Filter entries not beginning with PREFIX if non-NULL, and omit PREFIX from the returned paths. * libfshelp/fshelp.h (fshelp_get_active_translators): Update comment accordingly. Also clarify that both FILTER and PREFIX can be NULL. * libdiskfs/file-get-children.c (diskfs_S_file_get_children): Update comment, pass prefix to fshelp_get_active_translators. * libnetfs/file-get-children.c (netfs_S_file_get_children): Likewise.
Diffstat (limited to 'hurd/fs.defs')
-rw-r--r--hurd/fs.defs4
1 files changed, 2 insertions, 2 deletions
diff --git a/hurd/fs.defs b/hurd/fs.defs
index 24526826..a4a48cc8 100644
--- a/hurd/fs.defs
+++ b/hurd/fs.defs
@@ -354,8 +354,8 @@ routine file_reparent (
out new_file: mach_port_send_t);
/* Return any active translators bound to nodes below FILE. CHILDREN
- is an argz vector containing file names relative to the root of the
- receiving translator. */
+ is an argz vector containing file names relative to the path of
+ FILE. */
routine file_get_children (
file: file_t;
RPT