Age | Commit message (Collapse) | Author |
|
2019-02-01 Svante Signell <svante.signell@gmail.com>
* Update copyright years.
2018-01-05 Svante Signell <svante.signell@gmail.com>
* Update copyright years.
* fs.defs: Add new argument rendezvous: mach_port_send_t to RPC
file_record_lock.
2017-01-05 Svante Signell <svante.signell@gmail.com>
* Update copyright years and headers.
2016-05-23 Svante Signell <svante.signell@gmail.com>
* fs.defs: Added description.
* hurd_types.defs: Make struct flock_t seven integers long since
l_start and l_len are 64bit.
* hurd_types.h: typedef flock_t as flock64.
2001-04-10 Neal H Walfield <neal@cs.uml.edu>
* fs.defs: New RPC file_record_lock.
* hurd_types.defs: Import <fcntl.h>.
|
|
and update the servers to use UTIME_NOW and UTIME_OMIT.
* console-client/trans.c (netfs_attempt_utimes): Do not set current time
ourself.
* console/console.c (netfs_attempt_utimes): Likewise.
* ftpfs/netfs.c (netfs_attempt_utimes): Likewise.
* hostmux/node.c (netfs_attempt_utimes): Likewise.
* usermux/node.c (netfs_attempt_utimes): Likewise.
* nfs/ops.c (netfs_attempt_utimes): Likewise.
* doc/hurd.texi (file_utimens): Add documentation.
* hurd/fs.defs (file_utimens): Add RPC.
* libdiskfs/file-utimes.c (diskfs_S_file_utimes): Move implementation
and replace with translation layer with...
(diskfs_S_file_utimens): ... new function.
* libnetfs/file-utimes.c (netfs_S_file_utimes): Likewise with...
(netfs_S_file_utimens): ... new function.
* libnetfs/init-init.c: Include <error.h>.
(netfs_mtime): New variable.
(netfs_init): New function.
* libnetfs/netfs.h (netfs_attempt_utimes): Update documentation.
* libnetfs/priv.h (netfs_mtime): Declare variable.
* libtreefs/s-file.c (treefs_S_file_utimes): Convert time values and
call treefs_s_file_utimens instead of treefs_s_file_utimes.
* libtreefs/treefs-hooks.h: Replace TREEFS_HOOK_S_FILE_UTIMES with
TREEFS_HOOK_S_FILE_UTIMENS.
* libtreefs/treefs-s-hooks.h: Replace s_file_utimes with s_file_utimens.
* libtrivfs/file-utimes.c (trivfs_S_file_utimens): New function.
* libtrivfs/times.c (trivfs_set_atime): Try to use file_utimens before
using file_utimes.
(trivfs_set_mtime): Likewise.
* nfsd/ops.c (complete_setattr): Likewise.
* trans/fakeroot.c (netfs_attempt_utimes): Likewise.
* nfs/nfs.c (xdr_encode_sattr_times): Do not set atime or mtime when
they are NULL.
* configure.ac: Look for file_futimens, and define UTIME_NOW/OMIT, for
compatibility with old glibcs.
|
|
* hurd/fs.defs (file_exec): Deprecate in favor of...
(file_exec_paths): ...this new RPC.
* TODO: Update.
* doc/hurd.texi: Update RPC name.
* hurd/hurd_types.h: Update RPC name.
* libdiskfs/boot-start.c: Update RPC name.
* configure.ac: Check for presence of RPC stubs file_exec_paths exec_exec_paths.
* exec/hashexec.c (check_hashbang): When file_exec_paths is available, use it
instead of file_exec.
* startup/startup.c (run, run_for_real, start_child): Likewise.
* utils/login.c (main): Likewise.
* libfshelp/start-translator-long.c (fshelp_start_translator_long): Likewise.
* libdiskfs/file-exec.c (diskfs_S_file_exec): Move code to
new function diskfs_S_file_exec_paths and call it.
(diskfs_S_file_exec_paths): New function, use exec_exec_paths when available
instead of exec_exec
* libnetfs/file-exec.c (netfs_S_file_exec, netfs_S_file_exec_paths): Likewise.
* trans/fakeroot.c (netfs_S_file_exec, netfs_S_file_exec_paths): Likewise.
* libtrivfs/file-exec.c (trivfs_S_file_exec_paths): New function.
|
|
Previously, we used the fs protocol to traverse the translator
hierarchies. This, however, is conceptually flawed, because
translators are bound to nodes, and a node can have zero or more links
in the file system. Therefore, the previous method of returning a
list of paths to the client and expecting them to be able to follow
these to reach the child translators was always unreliable.
Fix this by using the fsys protocol to traverse the hierarchy, and
returning the control ports of all children. This is more robust, and
also conceptually cleaner, because the fsys protocol is about
translator linkage, hence this is the point to implement traversal.
Also move the get source routine over. A per-node source really
does not fit the reality of most translators, while a per-translator
source makes sense in many cases.
* hurd/fs.defs (file_get_children): Drop routine.
(file_get_source): Likewise.
* hurd/fsys.defs (fsys_get_children): New routine.
(fsys_get_source): Likewise.
* libdiskfs/Makefile (FSYSSRCS): Remove files, add files.
* libdiskfs/file-get-children.c: Remove file.
* libdiskfs/fsys-get-children.c: New file.
* libdiskfs/file-get-source.c: Remove file.
* libdiskfs/fsys-get-source.c: New file.
* libfshelp/fshelp.h (fshelp_filter): Remove type.
(fshelp_get_active_translators): Remove filter and prefix argument,
return list of control ports.
* libfshelp/translator-list.c (fshelp_get_active_translators):
Likewise.
* libnetfs/Makefile (FSSRCS): Move 'get-source.c' too OTHERSRCS.
(FSYSSRCS): Remove files, add files.
* libnetfs/file-get-children.c: Remove file.
* libnetfs/fsys-get-children.c: New file.
* libnetfs/file-get-source.c: Remove file.
* libnetfs/fsys-get-source.c: New file.
* libtrivfs/Makefile: Move 'get-source.c' too OTHERSRCS.
(FSYSSRCS): Remove files, add files.
* libtrivfs/file-get-children.c: Remove file.
* libtrivfs/fsys-get-children.c: New file.
* libtrivfs/file-get-source.c: Remove file.
* libtrivfs/fsys-get-source.c: Add file.
* trans/Makefile (mtab): Build client stubs until the libc has caught
on.
* trans/mtab.c (target_control): New variable.
(insecure): Drop variable.
(all_translators): Likewise.
(MAX_DEPTH): New macro.
(max_depth): New variable.
(options): Remove '--insecure' and '--all-translators', add '--depth'.
(parse_opt): Adapt accordingly.
(trivsfs_append_args): Likewise.
(main): Get the control port of the target translator, then drop
privileges.
(is_filesystem_translator): Remove function.
(mtab_mark_as_seen): Simplify. Just check if the control port is
known.
(mtab_populate): Limit depth of recursion, adapt to traversing over
the control ports, simplify.
(open_hook): Remove scary comment, it is not applicable anymore
because we no longer dir_lookup child translators.
|
|
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.
|
|
* hurd/fs.defs: Add file_get_children and file_get_source.
* hurd/fsys.defs: Remove fsys_get_children and fsys_get_source.
* libdiskfs/fsys-get-children.c: Rename and adapt accordingly.
* libdiskfs/fsys-get-source.c: Likewise.
* libnetfs/fsys-get-children.c: Likewise.
* libnetfs/fsys-get-source.c: Likewise.
* libtrivfs/fsys-get-children.c: Likewise.
* libtrivfs/fsys-get-source.c: Likewise.
* libdiskfs/diskfs.h: Adapt prototype and comment.
* libnetfs/netfs.h: Likewise.
* libtrivfs/trivfs.h: Likewise.
* libdiskfs/get-source.c: Adapt default implementation, provide
diskfs_disk_name by default.
* libnetfs/netfs.h: Adapt default implementation.
* libtrivfs/get-source.c: Likewise.
* libdiskfs/Makefile: Adapt accordingly.
* libnetfs/Makefile: Likewise.
* libtrivfs/Makefile: Likewise.
* trans/symlink.c: Likewise.
* trans/mtab.c: Likewise.
|
|
* fs.defs (dir_readdir): Revert AMOUNT type to int, since it's a count
of entries and not a byte count.
|
|
* hurd_types.defs (loff_t, ino64_t): New types, 64 bits.
(off_t): Type removed.
(off_array_t): Use loff_t instead of off_t as base type.
* hurd_types.h (off_array_t): Likewise.
[_FILE_OFFSET_BITS != 64] (io_statbuf_t, fsys_statfsbuf_t): Define
using struct stat64/statfs64 instead of struct stat/statfs.
* io.defs (io_identity): Use ino64_t for FILENO.
* fs.defs (file_set_size): off_t -> loff_t
* fs_notify.defs (file_changed): Likewise.
* io.defs (io_write, io_read, io_seek): Likewise.
* io_request.defs: Likewise for those RPCs' *_request variants.
* io_reply.defs: Likewise for those RPCs' *_reply variants.
* hurd_types.defs (size_t): Remove type.
* fs.defs (dir_readdir): Use vm_size_t for AMOUNT.
* socket.defs (socket_send, socket_recv): Likewise.
* pfinet.defs (pfinet_siocgifconf): Likewise.
* io.defs (io_write, io_read, io_readable): Likewise.
* io_request.defs: Likewise for those RPCs' *_request variants.
* io_reply.defs: Likewise for those RPCs' *_reply variants.
|
|
2002-03-05 Marcus Brinkmann <marcus@gnu.org>
* hurd.texi (Diskfs Callbacks): Refer to dir_lookup, not dir_pathtrans.
Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
fstests/
2002-03-05 Marcus Brinkmann <marcus@gnu.org>
* fstests.c (main): Call dir_lookup, not dir_pathtrans.
Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
hurd/
2002-03-05 Marcus Brinkmann <marcus@gnu.org>
* fs.defs: Refer to dir_lookup, not dir_pathtrans, in comments.
* fsys.defs: Likewise.
* hurd_types.h (enum retry_type): Likewise.
Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
libdiskfs/
2002-03-05 Marcus Brinkmann <marcus@gnu.org>
* diskfs.h: Refer to dir_lookup, not dir_pathtrans, in comment.
* fsys-getroot.c (diskfs_S_fsys_getroot): Likewise.
Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
libfshelp/
2002-03-05 Marcus Brinkmann <marcus@gnu.org>
* fshelp.h: Refer to dir_lookup, not dir_pathtrans, in comment.
Reported by James A Morrison <ja2morri@student.math.uwaterloo.ca>.
|
|
* fs.defs (routine file_get_storage_info): Add dealloc to all out
parameters (PORTS, INTS, OFFSETS, DATA).
(routine file_get_fs_options): Add dealloc to out parameter OPTIONS.
* fsys.defs (routine fsys_get_options): Add dealloc to out
parameter OPTIONS.
* process.defs (routine proc_getprocinfo): Add dealloc to out
paramter PROCINFO.
|
|
* fs.defs (dir_readdir): Replace dealloc with dealloc[] on out data.
|
|
* fs.defs (file_utimes): Extend documentation.
|
|
* fs.defs (file_notice_changes, dir_notice_changes): Doc fix.
|
|
* fs.defs (dir_lookup): Update interface specification in the
comment to reflect current reality.
|
|
Renamed from dir_reparent.
|
|
that do type translations of file_t won't get bogus arguments for ports in
other filesystems.
|
|
|
|
|
|
(dir_link, dir_rename): Add parm `excl'.
|
|
|
|
arrays.
|
|
|
|
|
|
|
|
from mach_port_send_t. We cannot safely use dealloc ool or move rights
with the current RPC system.
|
|
|
|
Add ADDRESS_UNITS out parameter.
(dir_link): Swap the DIR and FILE parameters.
|
|
|
|
|
|
file_pathconf.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|