17 Commits

Author SHA1 Message Date
Theodore Dubois
2936270747 Copy emulator code from linux tree and build it here 2024-11-09 02:02:18 -08:00
Theodore Dubois
9510680692 Make sure to take sqlite write locks upfront
Fun quirk of sqlite is that if you BEGIN DEFERRED and then do a read
statement and then another process concurrently does a write and then
the first process does a write statement on the same transaction, it
will immediately return SQLITE_BUSY because it's impossible to do a
write against a past version of the database. To fix this we need to use
BEGIN IMMEDIATE to take a write lock upfront on any transaction that
will need to write.
2024-10-27 15:10:14 -07:00
Theodore Dubois
17ea1307f2 Import named pipes in fakefs as named pipes 2024-10-19 21:43:40 -07:00
Theodore Dubois
f4fb09403e Don't drop the last directory entry in fakefs readdir if the buffer is full 2022-06-25 15:22:00 -07:00
Theodore Dubois
6142c2e20f Add statfs to linux fakefs 2022-06-19 11:40:36 -07:00
Theodore Dubois
2b5708163b Implement mmap writeback for fakefs linux 2022-06-13 12:07:53 -07:00
Theodore Dubois
6a870cde6b Return inode numbers from fakefs iterate in linux 2022-05-21 16:03:56 -07:00
Theodore Dubois
a9e5aab14b Disable dentry and inode cache on fakefs
If allowed to grow, the inode cache will quickly become bigger than the
open fd limit, which makes it impossible to open any new files.
2022-04-24 09:27:54 -07:00
Theodore Dubois
38b388e225 Add missing database locks in linux fakefs 2022-02-20 17:15:07 -08:00
Theodore Dubois
421732c3c9 Merge Linux v5.16 2022-02-14 00:42:58 -08:00
Theodore Dubois
1b93e74e6a Fix bugs associated with links in Linux fakefs
* Turns out, when you create a file such as a symlink using O_WRDONLY,
  the resulting fd is cached forever and prevents reading that symlink
  in the future.
* After mkdir, we need to open the corresponding fd with O_RDONLY.
  Factor out that logic.
* Apparently you need to instantiate the target dentry after creating a
  hardlink.
2022-01-30 17:55:30 -08:00
Theodore Dubois
f708c812dc Hook up linux pseudoterminals 2021-12-31 20:49:52 -08:00
Theodore Dubois
893218ac92 Various build fixes for CI 2021-08-15 00:34:53 -07:00
Theodore Dubois
2b41a141be Make panic reports and filesystem mounting work barely 2021-08-15 00:34:53 -07:00
Theodore Dubois
ec76fd175a Start the kernel in the app 2021-07-04 00:16:13 -07:00
Theodore Dubois
0f4b621711 Add fakefs support to linux 2021-06-27 09:52:24 -07:00
Theodore Dubois
071b4e64fa Add linux submodule, build it from meson 2021-06-27 09:52:24 -07:00