Commit Graph

16 Commits

Author SHA1 Message Date
Jonas 'Sortie' Termansen 41d4dbdce7 Fix extfs read-only support. 2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen e2202b2ddb Fix extfs unhandled allocation failures.
This is not sufficient. The operator new calls are dangerous right now
because they throw exceptions (not handled) on error instead of returning
NULL. This needs to be changed to operator new nothrow instead.
2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen bc928e99a4 Fix extfs coding style and general issues.
This cleans up constructors so fields are initialized in the same order they
are declared in. This makes it trivial to spot accidentally uninitialized
fields.

This fixes a minor argument parsing bug when the mount path isn't set, but
fortunately argv[argc] is NULL and we wanted to set it to NULL anyway.

This prevents excessively large block sizes from being used.

This improves inode value range checks in the fsmarshall code. Inode 0 is
not a valid inode. The new code for this is also simpler.

This prevents creating links with names larger than 255 bytes.

This adds a check to ensure inodes don't overflow the hardlink count.

This ensures the dirent filetype is only set if supported.
2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen 5deb51eeae Fix extfs reference counts. 2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen ac785d861e Add extfs optimized symlink write support. 2015-08-27 22:12:11 +02:00
Jonas 'Sortie' Termansen de21e9c8e2 Refactor extfs dirty pattern to BeginWrite then FinishWrite pattern. 2015-08-26 23:12:45 +02:00
Jonas 'Sortie' Termansen ebb75f656c Honor O_EXCL only if O_CREAT. 2015-02-08 22:58:32 +01:00
Jonas 'Sortie' Termansen a22cca77f5 Fix extfs O_DIRECTORY error codes. 2015-02-06 14:56:35 +01:00
Jonas 'Sortie' Termansen 22a510e957 Fix extfs uninitialized inode members. 2015-02-06 14:56:31 +01:00
Jonas 'Sortie' Termansen 231f73c4f9 Fix extfs symbolic link access and truncation bugs. 2015-02-06 14:55:36 +01:00
Jonas 'Sortie' Termansen 60305cc589 Implement modified time in extfs. 2014-12-08 18:18:52 +01:00
Jonas 'Sortie' Termansen 677435aa94 Hash extfs inode cache lookup. 2014-12-08 18:18:51 +01:00
Jonas 'Sortie' Termansen 8f0db0f541 Optimize extfs syncing inodes. 2014-12-08 18:18:51 +01:00
Jonas 'Sortie' Termansen bb3f591057 Add symbolic links. 2014-12-02 17:36:36 +01:00
Jonas 'Sortie' Termansen 26c9b266b8 Fix extfs rename between directories. 2014-10-18 15:30:10 +02:00
Jonas 'Sortie' Termansen b308c764cf Add ext2 filesystem implementation. 2013-12-17 14:30:46 +01:00