Age | Commit message (Collapse) | Author |
|
* rootdir.c, rootdir.h: New files.
* main.c: Use rootdir_create_node.
* Makefile: Add the rootdir module.
|
|
* process.c (process_file_make_node, entries): Set the environ
and stat files as readable only by the owner of the process.
|
|
* procfs.c, procfs.h (procfs_node_chown,
procfs_node_chmod, procfs_node_chtype): New functions, encapsulate
access to some nn_stat fields.
* process.c (process_lookup_pid): Use procfs_node_chown instead
of direct access.
|
|
* netfs.c (netfs_validate_stat): For symlinks, fetch the contents
and propagate their length into the nn_stat.st_size field.
(netfs_attempt_readlink): Implement using procfs_get_contents.
|
|
* Makefile: Add libps to the $(LIBS).
* proclist.c, proclist.h: Embed the proc server port in a
ps_context structure. (proclist_make_node): Change to prototype to
allow for the possibility of error. Rename to proclist_create_node to
reflect the change and non-triviality.
* process.c, process.h: Revamp. Use a full-blown procstat
structure instead of just the procinfo fetched from the process
server. Use the additional data to complement [pid]/stat.
(process_lookup_pid): Get a ps_context structure instead of a port to
the process server.
* main.c (root_make_node): Convert to the new interface for
proclist_create_node.
|
|
* netfs.c (netfs_node_norefs): Handle the reference counters
spinlock so as to avoid deadlocking on reentry.
|
|
* procfs.h, procfs.c (procfs_make_ino): New function,
invents an inode number by hashing the parent's and the name of an
entry. (procfs_lookup): Use it to assign an inode number to child
nodes at lookup time.
* main.c (root_make_node): Assign an arbitrary inode number to
the root directory.
|
|
* procfs.c (procfs_lookup): Keep track of the parent directory,
implement the lookup of the dot-directories. (procfs_cleanup):
Release the reference to the parent node, if applicable.
* procfs.h: Add a comment about the parent reference.
* netfs.c (netfs_attempt_lookup): Lock the looked up node after
the directory has been unlocked, in case they are the same.
|
|
* procfs_dir.c (procfs_dir_get_contents): Prepend the . and ..
entries to the ones from the given table.
|
|
* process.c: Add a basic stat file.
|
|
* process.c (process_make_node): Use the owner_uid from the
procinfo structure to set the owner of the created directory.
|
|
* dircat.c, dircat.h: New files, merge directories.
* Makefile: Add the dircat module.
* main.c: Use dircat to merge the proclist into the root
directory, instead of having it as a stand-alone one.
* procfs.h, procfs.c: Add a "refresh hack" to have the
contents of the root directory recreated on each request.
* proclist.c (proclist_make_node): Enable the hack in question.
|
|
* process.c, process.h (process_make_node): Make static,
include a procinfo structure into the node information.
(process_lookup_pid): New function, replaces process_make_node as the
outer interface, returns an error for non-existing processes.
* proclist.c (proclist_lookup): Convert to the new interface.
|
|
* process.c, process.h: New files, implement a process
directory with cmdline and environ files.
* Makefile: Add the process module.
* proclist.c: Replace stub pid files with the real thing.
|
|
* procfs.c, procfs.h: Extend the signature of the
cleanup_contents callback in the procfs_node_ops structure to include
the hook and contents_len. (cleanup_contents_with_free,
cleanup_contents_with_vm_deallocate): New functions, can be used as
a cleanup_contents callback for simple cases.
* procfs_dir.c, procfs_dir.h (procfs_dir_make_node):
Update, add a cleanup callback, make sure the cleanup callback is
invoked if there is an error.
* proclist.c (proclist_make_node), main.c (main): Update to match
the new interfaces.
|
|
* procfs.c (procfs_make_node): Invoke the cleanup callback on
failure, so that callers don't have to.
* procfs.h: Document the change.
* procfs_dir.c (procfs_dir_make_node), procfs_file.c
(procfs_file_make_node), proclist.c (proclist_make_node):
Update to reflect the change.
|
|
* proclist.h, proclist.c: New files.
* main.c: Add a proclist directory based on them.
* Makefile: Include the proclist module.
|
|
* procfs_dir.h: New file; declare the procfs_dir_make_node
function, based on the procfs_dir_entry structure.
* procfs_dir.c: New file; implement simple directories.
* Makefile: Add the procfs_dir module.
* main.c: Use it.
|
|
* procfs_file.h: New file, declares procfs_file_make_node.
* procfs_file.c: New file, implements procfs_file_make_node.
* main.c: Use them.
* Makefile: Add the procfs_file module.
|
|
* procfs.h: New file; basic interfaces for procfs nodes.
* procfs.c: New file; implement the basic infrastructure.
* netfs.c: New file; bridge libnetfs and the procfs interfaces.
* main.c: New file; mostly a "Hello, World!" for now.
* Makefile: New file; standalone for now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
As suggested by Sergio Lopez.
* serverboot/default_pager.c (S_default_pager_object_set_size): Exchange
`seqno' and `reply_to' parameters.
|
|
* serverboot/default_pager.c (struct dstruct): Add boolean_t external field.
(default_pager_add): Set ds->external to TRUE or FALSE depending whether the
object is external.
(default_read): Add external parameter. If no_block(block) returns 1, if
external is TRUE, zero fill the page and return PAGER_SUCCESS instead of
PAGER_ABSENT.
(seqnos_memory_object_data_request): Pass ds->external as additional
parameter to default_read.
|
|
* serverboot/default_pager.c (pager_read_offset): Properly unlock the mutex
before returning NO_BLOCK.
|
|
|
|
|
|
The user-space part stores are now included in the build system and this hack
is no longer necessary to enable them.
|
|
|
|
|
|
|
|
|
|
* procfs_nonpid_files.c (procfs_create_mounts): New function.
* procfs_dir.c (procfs_fill_root_dir): Call procfs_create_mounts.
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
|
|
* procfs_pid_files.c (update_pid_entries): When symlink_target is not NULL, set
st_size to the symlink length and st_mode to S_IFLNK | 0777.
|
|
* procfs_pid_files.c (update_pid_entries): Replace dynamic allocation of
`stat' with automatic allocation. Memset `stat' to 0.
|
|
Part stores are used for debian-installer, and they're considered more
elegant than kernel partition devices. This patch makes sure they're
included in the build unless the user disables them explicitely.
* Makeconf: add $(PARTED_LIBS) to static binaries which use libstore_part.a.
* configure.in: look for libparted again (see also 7c7a04eb).
* libstore/Makefile (store-types): include the 'part' store type when
appropriate, remove the previous attempt.
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
|
|
|
|
|
|
|
|
|