59 Commits

Author SHA1 Message Date
Brian Almeida
910bbc398c Fix lockfile flag checks 2020-02-26 06:52:42 -05:00
Theodore Dubois
823647b5a4 Implement read parts of tmpfs 2020-02-17 13:10:03 -08:00
Theodore Dubois
e17b822519 Make most fs_ops optional, and mark the required ones 2020-02-03 00:43:54 -08:00
Theodore Dubois
6b5a14850c Implement mknodat 2020-02-02 22:35:58 -08:00
Theodore Dubois
0a01c66563 Implement FIONREAD for real files and sockets
Fixes #607
2020-01-20 11:26:12 -08:00
Theodore Dubois
dbc77285b8 Remove follow_links argument of fd_ops.stat
Only realfs was using it, and it wasn't really necessary there since
path_normalize already followed the last symlink if needed.
2019-12-29 14:18:26 -08:00
Theodore Dubois
d57b6d26fa Fix race between inode_release and generic_open
https://gist.github.com/tbodt/e92b86d8ddf0b79114703a24d7e99e68
2019-11-24 15:27:51 -08:00
Theodore Dubois
635a8437f8 Add a bunch of half-assed permission checks 2019-07-28 21:04:38 -07:00
Theodore Dubois
cc08b17c48 Add flags option to mount 2019-05-01 18:12:58 -07:00
Theodore Dubois
9be954bc87 Unbreak fstat on deleted files 2019-03-30 20:07:53 -07:00
Theodore Dubois
ebedb470d0 Implement O_DIRECTORY
Fixes #341
2019-03-09 17:08:29 -08:00
Theodore Dubois
74c5d7cec6 Create inode data owned by fds 2019-01-29 15:02:48 -08:00
Theodore Dubois
724d5f2202 Make it possible to sanely edit files through the file provider 2019-01-29 13:06:52 -08:00
Theodore Dubois
dc8b4b4aef Autoincrement fake inodes, remove relationship with real inodes 2019-01-26 22:02:08 -08:00
Theodore Dubois
088e7b727d Implement ptys
Also a bunch of somewhat related changes, I was too lazy to break this into more than one commit
2019-01-21 12:20:43 -08:00
Theodore Dubois
ff83d8e267 Fix fd leaks on device nodes 2019-01-11 14:28:29 -05:00
Theodore Dubois
8eb4b800a5 Implement /proc/pid/fd, /proc/self 2019-01-03 13:50:08 -08:00
Theodore Dubois
ca3dd4a4ad Make statfs less broken 2018-12-27 16:25:33 -08:00
Theodore Dubois
f94d222300 Implement procfs with just /proc/version 2018-12-23 20:40:14 -08:00
Theodore Dubois
f8028736b4 Make mounting filesystems possible 2018-12-22 19:38:41 -08:00
Theodore Dubois
4ba6da7635 Implement FIONREAD for ttys 2018-12-10 12:39:29 -08:00
Theodore Dubois
cfe23cceba Fix mknod on Darwin 2018-12-07 12:47:40 -08:00
Theodore Dubois
852a04d07f Implement generic mknod 2018-12-07 09:48:25 -08:00
Theodore Dubois
f869a57498 Switch to SQLite for file metadata database 2018-11-30 09:13:57 -08:00
Theodore Dubois
2b35a6e9e6 Implement ioctl(FIONBIO) 2018-11-16 14:38:32 -08:00
Theodore Dubois
d679605b03 Merge pull request #65 from lunixbochs/patch3-fcntl_setfl
implement fcntl F_SETFL
2018-11-16 14:05:24 -08:00
Theodore Dubois
7f74a54fd0 Implement pipe2 with O_CLOEXEC 2018-11-16 13:59:49 -08:00
Theodore Dubois
6a035e9186 Fix "function declaration is not a prototype" warnings 2018-11-14 17:13:22 -08:00
Ryan Hileman
7e056f4e0e implement fcntl F_SETFL 2018-11-12 14:44:11 -08:00
Theodore Dubois
1bceb67ef0 Handle F_GETFL which is necessary for printf to work 2018-11-11 11:43:12 -08:00
SEProblem
3d5f42c106 Implement sys_faccessat (call: 307) 2018-10-29 15:17:52 -07:00
Theodore Dubois
b06be929d2 Pass through O_TRUNC and O_APPEND 2018-10-08 12:27:55 -07:00
Theodore Dubois
e170446cc4 Store the adhoc stat info in the fd 2018-10-08 11:43:54 -07:00
Theodore Dubois
b1e34968e8 Implement readlinkat 2018-09-26 09:24:15 -07:00
Theodore Dubois
b1ff0a31fc Implement futimens 2018-08-12 20:35:00 -07:00
Theodore Dubois
da011d9752 Reimplement truncate, correctly this time 2018-02-04 20:23:01 -08:00
Theodore Dubois
eddf023669 Move pwd, root, uname out into its own struct 2018-01-21 17:24:32 -08:00
Theodore Dubois
728ca235c0 Replace files array with fdtable structure 2018-01-15 19:18:38 -08:00
Theodore Dubois
cb1329d9c9 Implement rmdir 2018-01-14 15:09:48 -08:00
Theodore Dubois
319d2b1259 Reimplement access to not call a filesystem-specific function 2018-01-10 14:48:08 -08:00
Theodore Dubois
1ed7a5da79 Implement hardlinks 2018-01-09 14:13:44 -08:00
Theodore Dubois
37de7b9f71 Redesign the fakefs database to support hardlinks 2018-01-07 17:36:15 -08:00
Theodore Dubois
f60c9276f9 Use thread-safe reference counting on fds 2017-12-26 19:45:05 -08:00
Theodore Dubois
5d2fdd3e18 Reduce magic in locking macros 2017-12-19 22:48:43 -08:00
Theodore Dubois
d6b01955ae Fix races and deadlocks in polling a tty 2017-12-19 18:40:17 -08:00
Theodore Dubois
e25302ed98 Redesign VFS mmap 2017-12-06 15:14:17 -08:00
Theodore Dubois
275dec070b Save the filesystem database on exit, translate open flags 2017-12-01 15:19:51 -08:00
Theodore Dubois
bcfc41aa82 Implement mkdir 2017-11-28 18:25:25 -08:00
Theodore Dubois
9a5202ebec Replace fchown, chown, fchmod, chmod with setattr 2017-11-27 17:15:58 -08:00
Theodore Dubois
b16f41bd4f Implement fchownat 2017-11-20 15:43:49 -08:00