Age | Commit message (Collapse) | Author |
|
ctlfs (Control FS) is a filesystem aimed to provide configuration of
devices separate from their respective devices files. Most UNIX-like
systems rely on the ioctl() mechanism for sending commands to device
drivers, while this certainly works, it is important to realize how
messy it can get having massive switch cases per driver. ctlfs fixes
this by giving each device a "node" in ctlfs that contains several
control files.
For example, imagine we have a SCSI device (/dev/sd1). Its ctlfs
counterpart would be a directory at /ctl/sd1/. For an hdd this may
contain files such as:
/ctl/sd1/bsize # Block size if read (mode [rwx]: -w-)
/ctl/sd1/cmd # Command if written, status if read (mode [rwx]: rw-)
... et cetera
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Use ssize_t to avoid unsigned integer underflows and only call copyout()
during file reads
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Add system-wide locking for critical code sections.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
hcf(): Halt and catch fire (used for debugging mostly)
bas(): Burn and sizzle - internal usage
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Kernel logs must now all be lowercase for consistency. A new style
called Peripheral Description Notation (PDN) has also been introduced
to describe devices.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Was supposed to happen on Jan 1, sorry! Happy late new year!
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Maintain naming consistency between public machine-dependent and
machine-independent functions.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit implements local vcaches and lazy vcache migration (LZVM)
for on the fly vcache type switching.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Require internal add/pull routines to be passed a pointer to the vcache
to be operated on. This makes it easier to support for per-process vcaches and LZVM.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit makes changes to how vnodes are allocated and released. When
we want to allocate a new vnode, we check if there is something we can
recycle before calling dynalloc(). Instead of calling dynfree() on a
vnode, enter it into the vnode cache.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
This commit makes various changes such as updating how readonly and
writable entries are stored and how entry lookups are made to improve
flexibility.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Sometimes we may need to duplicate a file descriptor and create a new
fdno that refers to the same vnode. The fd_dup() function enables us
to do this when needed.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Keep track of how many threads are currently using the file descriptor.
This will be useful when fork() is implemented.
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Implements the Multilevel Feedback Queue scheduling algorithm.
Signed-off-by: AptRock327 <dominik032009@gmail.com>
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|
|
Signed-off-by: Ian Moffett <ian@osmora.org>
|