aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* Rewrite encoding routines using AbseilHEADmasterGravatar Benjamin Barenblat2020-10-11
| | | | | | | Abseil makes encoding and decoding a lot easier. Take an Abseil dependency, and rewrite the encoding and decoding routines using it. Closes: https://github.com/bbarenblat/scoville/issues/2
* Add unit tests for encodingGravatar Benjamin Barenblat2020-10-11
| | | | They don’t currently pass, because they expose some bugs in encoding.
* Stop using -WeverythingGravatar Benjamin Barenblat2020-10-11
| | | | | -Weverything is a compiler testing tool, not a package of warnings. Use -Wall -Wextra instead.
* Eliminate CMake; flatten directory structureGravatar Benjamin Barenblat2020-10-11
| | | | | CMake is probably more trouble than it’s worth for this project. Replace it with a hand-rolled Ninja file.
* Create a mailmapGravatar Benjamin Barenblat2018-06-20
|
* Support files ending in spaces or periodsGravatar Benjamin Barenblat2018-06-20
| | | | | | | | In addition to the characters Scoville already handles, FAT also disallows space and period as the last character in a file name. Convert trailing space and period to the relevant escape sequences. Closes: https://github.com/bbarenblat/scoville/issues/2
* Add READMEGravatar Benjamin Barenblat2016-11-07
|
* Add LICENSE file for clarityGravatar Benjamin Barenblat2016-11-07
| | | | | Scoville’s code was already licensed under Apache-2, but adding a top-level LICENSE file is always a plus.
* Compile with -fno-strict-aliasingGravatar Benjamin Barenblat2016-04-03
| | | | | | | Turns out I’ve misused reinterpret_cast in a few places. Fixing it would be challenging and not worth the slight performance boost from strict aliasing optimizations, so mark violations and disable strict aliasing.
* Implement truncateGravatar Benjamin Barenblat2016-02-22
|
* Use -o nonempty by defaultGravatar Benjamin Barenblat2016-02-22
|
* Harden compiler and linker flagsGravatar Benjamin Barenblat2016-02-22
|
* Mangle namesGravatar Benjamin Barenblat2016-02-22
|
* Implement statfsGravatar Benjamin Barenblat2016-02-21
|
* Implement creatGravatar Benjamin Barenblat2016-02-21
| | | | Turns out FUSE needs it after all (for operations with O_EXCL).
* Implement ftruncateGravatar Benjamin Barenblat2016-02-21
|
* Implement symlink/readlinkGravatar Benjamin Barenblat2016-02-21
|
* posix_extras: Abstract out common syscall handlingGravatar Benjamin Barenblat2016-02-21
|
* posix_extras: Abstract out path validationGravatar Benjamin Barenblat2016-02-21
|
* operations: Abstract away common exception-handlingGravatar Benjamin Barenblat2016-02-21
|
* Implement chmodGravatar Benjamin Barenblat2016-02-21
|
* Implement renameGravatar Benjamin Barenblat2016-02-21
|
* Implement mkdir/rmdirGravatar Benjamin Barenblat2016-02-21
|
* Implement writeGravatar Benjamin Barenblat2016-02-21
|
* Factor out common path manipulationGravatar Benjamin Barenblat2016-02-21
|
* Implement fgetattr and readGravatar Benjamin Barenblat2016-02-21
|
* Implement utimensGravatar Benjamin Barenblat2016-02-21
|
* Replace creat with mknod+openGravatar Benjamin Barenblat2016-02-21
| | | | | Performance is not an immediate concern, so replace creat with mknod to compact code.
* Properly initialize fuse_operations structGravatar Benjamin Barenblat2016-02-21
| | | | | Prevent crashes on unimplemented functions by nulling out all function pointers in the struct.
* Unify File::OpenAt functionsGravatar Benjamin Barenblat2016-02-21
|
* Implement unlinkGravatar Benjamin Barenblat2016-02-21
|
* Deduplicate resource release functionsGravatar Benjamin Barenblat2016-02-20
|
* Remove some redundant declarationsGravatar Benjamin Barenblat2016-02-20
|
* Delete redundant logging; normalize other log statementsGravatar Benjamin Barenblat2016-02-20
|
* Ensure Create passes correct flags to emulate creat(2)Gravatar Benjamin Barenblat2016-02-20
|
* Deduplicate resource creation functionsGravatar Benjamin Barenblat2016-02-20
|
* Make more exception-safeGravatar Benjamin Barenblat2016-02-20
| | | | | Ensure that FUSE callbacks will never throw exceptions. Log unexpected exceptions as errors.
* Cleanup: Use std:: where appropriateGravatar Benjamin Barenblat2016-02-20
|
* Replace hand-rolled IoError class with std::system_errorGravatar Benjamin Barenblat2016-02-20
|
* Use DTTOIF instead of implementing DirectoryTypeToFileTypeGravatar Benjamin Barenblat2016-02-20
|
* Only define FUSE_USE_VERSION onceGravatar Benjamin Barenblat2016-02-20
|
* Unify constructors for FileGravatar Benjamin Barenblat2016-02-20
|
* Include what you useGravatar Benjamin Barenblat2016-02-20
|
* Implement open, creat, and closeGravatar Benjamin Barenblat2016-02-18
|
* Create and use RAII directory abstractionGravatar Benjamin Barenblat2016-02-18
|
* Clean up deleted copy and move constructors for FileGravatar Benjamin Barenblat2016-02-18
|
* Add nullary constructor to IoErrorGravatar Benjamin Barenblat2016-02-18
| | | | The constructor constructs an IoError based on the current errno.
* Create and use RAII file abstractionGravatar Benjamin Barenblat2016-02-18
|
* Rewrite getattr to query underlying file systemGravatar Benjamin Barenblat2016-02-13
|
* Save root file descriptor when starting upGravatar Benjamin Barenblat2016-02-13
| | | | | | Allow access to underlying file system by saving a file descriptor to the underlying directory when starting. Close the FD during FUSE’s destroy routine, though it won’t matter much.