Commit Graph

12 Commits

Author SHA1 Message Date
Norman Feske
73ab30c22c Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
Norman Feske
f4bc08c16f Whitespace fixes in Noux 2012-10-08 15:08:17 +02:00
Christian Prochaska
e9ac4b653b Add support for symbolic links
This patch adds support for symbolic links in libc, libc plugins, file
system servers and Noux.

Fixes #322.
2012-10-08 15:05:02 +02:00
Christian Prochaska
97c3f6599d Noux, libc_terminal: initialize 'stat' buffer
Initialize the 'stat' buffer in the 'stat()' function to avoid potential
non-deterministic program behavior.

Fixes #362.
2012-09-24 09:17:59 +02:00
Norman Feske
e60eb0f57f noux: pass correct mode to Fs_vfs_handle
This patch resolves a problem with running 'noux_gdb.run'. Right at the
start, GDB would output a message like:

  ...cli-script.c:1614: internal-error: called with NULL file pointer!
  A problem internal to GDB has been detected,
  further debugging may prove unreliable.
  Quit this debugging session? (y or n)

The LOG output hints at the cause of the problem:

  [init -> noux -> /bin/genode-x86-gdb] fcntl: F_GETFL for libc_fd=3

Thanks to cproc for the fix!
2012-08-22 09:51:27 +02:00
Christian Prochaska
dcfcbce856 libc: add support for 'ftruncate()'
Fixes #307.
2012-08-09 11:09:43 +02:00
Christian Prochaska
280fc59edf Fix 'O_CREAT' flag handling in 'open()'
Fixes #313.
2012-08-09 11:09:43 +02:00
Christian Prochaska
f99648f355 Noux: implement 'Fs_file_system::dataspace()'
Fixes #261.
2012-07-26 11:21:14 +02:00
Josef Söntgen
d28465cb3a Noux: fix missing mode propagation
When opening a new file, a new Fs_vfs_handle is created but with the
initial mode set to 0 which is not expected by functions like fdopen()
that check if the original flags given to the open() call match the
returned ones on the used fd.

Fixes #289.
2012-07-19 21:05:52 +02:00
Christian Prochaska
9a8fb36b1c Catch 'File_system::Lookup_failed' exception
In 'Fs_file_system::open()' the call of '_fs.dir()' can throw a
'File_system::Lookup_failed' exception, which gets explicitly caught
with this patch.

Fixes #246.
2012-06-20 19:44:07 +02:00
Norman Feske
e436d60ce7 Remove debugging output, emulate access syscall 2012-05-18 18:47:02 +02:00
Norman Feske
66290ea46d Stacked file systems for Noux
This patch introduces support for stacked file systems alongside new
glue for accessing file-system implementations provided via Genode's
new file-system-session interface.

Using stacked file systems, an arbitrary number of file systems (such
as tar archives or file systems implemented as separate Genode
components) can be composed to form one merged virtual file system.

An example is given via the 'ports/run/noux_bash.run' script. This run
script creates a virtual file system out of multiple tar archives each
containing the content of a particular GNU package. In addition, one
'ram_fs' is mounted, which enables Noux to perform write operations.
This way, the shell output can be redirected to a file, or files can
be saved in VIM.

Fixes #103.
2012-05-17 20:34:00 +02:00