Andreas Kling
ae197deb6b
Kernel: Strongly typed user & group ID's
...
Prior to this change, both uid_t and gid_t were typedef'ed to `u32`.
This made it easy to use them interchangeably. Let's not allow that.
This patch adds UserID and GroupID using the AK::DistinctNumeric
mechanism we've already been employing for pid_t/ProcessID.
2021-08-29 01:09:19 +02:00
Andreas Kling
d30d776ca4
Kernel: Make FileSystem::initialize() return KResult
...
This forced me to also come up with error codes for a bunch of
situations where we'd previously just panic the kernel.
2021-08-14 15:19:00 +02:00
Andreas Kling
ef2720bcad
Kernel: Make Inode::lookup() return a KResultOr<NonnullRefPtr<Inode>>
...
This allows file systems to return arbitrary error codes instead of just
an Inode or not an Inode.
2021-08-14 13:34:59 +02:00
Andreas Kling
c94c15d45c
Everywhere: Replace AK::Singleton => Singleton
2021-08-08 00:03:45 +02:00
Andreas Kling
d298de5e09
Kernel/SysFS: Remove redundant SysFS& member from SysFSInode
2021-07-18 02:23:22 +02:00
Andreas Kling
1f18558ee2
Kernel: Make FileSystem::root_inode() return a plain Inode&
...
All file system classes are expected to keep their root Inode object
in memory, so this function can safely return an Inode&.
2021-07-18 01:53:04 +02:00
Andreas Kling
9457d83986
Kernel: Rename Locker => MutexLocker
2021-07-18 01:53:04 +02:00
Andreas Kling
b975a74a1d
Kernel/USB: Move USB bus information from /proc to /sys
...
This patch moves all the USB data from /proc/bus/usb to /sys/bus/usb.
2021-07-18 00:55:16 +02:00
Andreas Kling
2da0581fd2
Kernel: Replace "folder" => "directory" everywhere
...
Folders are a GUI concept. File systems have directories.
2021-07-17 23:50:00 +02:00
Andreas Kling
b8d6c3722d
Kernel: Remove Inode::directory_entry_count()
...
This was only used in one place: VirtualFileSystem::rmdir(), and that
has now been converted to a simple directory traversal.
2021-07-17 22:36:04 +02:00
Andreas Kling
6766efff9c
Kernel: Make Inode::create_child() take the name as a StringView
...
No sense in forcing callers to construct a String. One more small step
towards not using String in the kernel.
2021-07-17 21:32:59 +02:00
Andreas Kling
3b805a57e6
Kernel: Rename Inode::m_lock => m_inode_lock
...
This makes file system code much easier to read since it was hard when
both the file system and inode locks were called "m_lock".
2021-07-17 21:17:39 +02:00
Andreas Kling
805319ed30
Kernel: Replace "Folder" => "Directory" everywhere
...
Folders are a GUI concept, file systems have directories. :^)
2021-07-11 01:33:40 +02:00
Andreas Kling
c74b3a310f
Kernel: Remove pointless lock/unlock in SysFS constructor
2021-07-11 01:18:20 +02:00
Andreas Kling
a9decf5aa6
Kernel: Remove all friend declarations from SysFSComponentRegistry
...
Let them access the class using public API instead.
2021-07-11 01:17:57 +02:00
Andreas Kling
807aadbe6e
Kernel: Remove some dead code and unused includes in SysFS files
2021-07-11 01:13:24 +02:00
Andreas Kling
60a7a9d523
Kernel: Rename SystemExposedFolder => SysFSDirectory
...
"Folder" is a GUI concept, let's call this "Directory".
Also, "System" is completely generic, so let's be more specific and
call this "SysFS..."
2021-07-11 01:07:27 +02:00
Andreas Kling
517170a986
Kernel: Rename SystemExposedComponent => SysFSComponent
2021-07-11 01:06:27 +02:00
Andreas Kling
27244eb0ee
Kernel: Rename SystemRegistrar => SysFSComponentRegistry
2021-07-11 01:05:26 +02:00
Andreas Kling
66f483b1a1
Kerne: Switch SysFS to east-const style
2021-07-11 00:56:53 +02:00
Andreas Kling
d53d9d3677
Kernel: Rename FS => FileSystem
...
This matches our common naming style better.
2021-07-11 00:20:38 +02:00
Liav A
1baa05d6b2
Kernel/SysFS: Add PCI exposed folder
2021-06-29 20:53:59 +02:00
Liav A
92c0dab5ab
Kernel: Introduce the new SysFS
...
The intention is to add dynamic mechanism for notifying the userspace
about hotplug events. Currently, the DMI (SMBIOS) blobs and ACPI tables
are exposed in the new filesystem.
2021-06-29 20:53:59 +02:00