Andreas Kling
2dd9ef6863
Kernel: Make File::absolute_path() const.
2019-06-01 18:56:56 +02:00
Andreas Kling
874bffc729
FileSystem: Get rid of VFS::absolute_path() and teach Mount about custodies.
2019-05-30 22:30:29 +02:00
Andreas Kling
393851418b
FileSystem: Port most of the code over to using custodies.
...
The current working directory is now stored as a custody. Likewise for a
process executable file. This unbreaks /proc/PID/fd which has not been
working since we made the filesystem bigger.
This still needs a bunch of work, for instance when renaming or removing
a file somewhere, we have to update the relevant custody links.
2019-05-30 18:58:59 +02:00
Andreas Kling
8fe72d7b3c
Kernel: Make fcntl(F_SETFL) actually update the append/blocking flags.
2019-05-30 15:37:51 +02:00
Andreas Kling
08926e59b3
Kernel: Add InodeFile, a File subclass for regular files.
...
Finally everything that can be held by a FileDescriptor actually inherits
from the File class.
2019-05-30 13:39:17 +02:00
Robin Burchell
0dc9af5f7e
Add clang-format file
...
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Robin Burchell
c6e79bd53a
Kernel: Support O_APPEND
...
As per the manpage, this acts as a transparent lseek() before write.
2019-05-26 01:32:05 +02:00
Andreas Kling
237628a7a6
Kernel: Tidy up FileDescriptor members a bit.
2019-05-18 04:14:22 +02:00
Andreas Kling
176f683f66
Kernel: Move Inode to its own files.
2019-05-16 03:02:37 +02:00
Andreas Kling
2470fdcd9b
Kernel: Make Socket inherit from File.
2019-05-03 20:42:43 +02:00
Andreas Kling
8cbb7f101f
Kernel: Have File virtuals take a FileDescriptor& rather than a Process&.
...
This will allow us to implement different behaviors depending on the role
of the descriptor a File is being accessed through.
2019-04-29 13:58:40 +02:00
Andreas Kling
0a0d739e98
Kernel: Make FIFO inherit from File.
2019-04-29 04:55:54 +02:00
Andreas Kling
a104d7cc93
Kernel: Make SharedMemory inherit from File.
2019-04-28 22:31:31 +02:00
Andreas Kling
e886337a67
Kernel: Make ProcessTracer inherit from File.
2019-04-28 15:02:55 +02:00
Andreas Kling
5c68929aa1
Kernel: Add a systrace() syscall and implement /bin/strace using it.
...
Calling systrace(pid) gives you a file descriptor with a stream of the
syscalls made by a peer process. The process must be owned by the same
UID who calls systrace(). :^)
2019-04-22 18:44:45 +02:00
Andreas Kling
60a819c14a
Kernel: Yet more work on bringing up POSIX SHM.
2019-04-09 02:37:38 +02:00
Andreas Kling
26a06f3fcd
Kernel: More work towards POSIX SHM, also add ftruncate().
2019-04-09 01:10:00 +02:00
Andreas Kling
644c887594
Kernel: Move FIFO into FileSystem/ and Socket+LocalSocket into Net/.
2019-04-06 20:29:48 +02:00