syncthing/lib/fs
greatroar 3e24d82513
lib/fs: Optimize UnicodeLowercase (#6979)
Most notably, it now detects all-lowercase files and returns these
as-is. The tests have been expanded with two cases and are now used
as a benchmark (admittedly a rather trivial one).

name                           old time/op    new time/op    delta
UnicodeLowercaseMaybeChange-8    4.59µs ± 2%    4.57µs ± 1%    ~     (p=0.197 n=10+10)
UnicodeLowercaseNoChange-8       3.26µs ± 1%    3.09µs ± 1%  -5.27%  (p=0.000 n=9+10)
2020-09-11 09:16:10 +02:00
..
basicfs.go lib/config, lib/fs: Make junction behaviour configurable (ref #6606) (#6907) 2020-08-19 19:58:51 +02:00
basicfs_copy_range.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
basicfs_copy_range_copyfilerange.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
basicfs_copy_range_duplicateextents.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
basicfs_copy_range_ioctl.go lib/fs: Disable ioctl on ppc (fixes #6898) (#6901) 2020-08-19 07:56:35 +02:00
basicfs_copy_range_sendfile.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
basicfs_fileinfo_unix.go lib/fs: Treat Windows junctions as normal directories (#6606) 2020-05-13 21:46:24 +02:00
basicfs_fileinfo_windows.go lib/fs: Treat Windows junctions as normal directories (#6606) 2020-05-13 21:46:24 +02:00
basicfs_lstat_broken.go lib/config, lib/fs: Make junction behaviour configurable (ref #6606) (#6907) 2020-08-19 19:58:51 +02:00
basicfs_lstat_regular.go lib/config, lib/fs: Make junction behaviour configurable (ref #6606) (#6907) 2020-08-19 19:58:51 +02:00
basicfs_lstat_windows.go lib/config, lib/fs: Make junction behaviour configurable (ref #6606) (#6907) 2020-08-19 19:58:51 +02:00
basicfs_test.go lib/fs: Treat Windows junctions as normal directories (#6606) 2020-05-13 21:46:24 +02:00
basicfs_unix.go lib/fs: Improve root check (#6033) 2019-09-29 23:38:11 +08:00
basicfs_watch.go lib: Replace done channel with contexts in and add names to util services (#6166) 2019-11-21 08:41:15 +01:00
basicfs_watch_errors_linux.go lib/fs: Fix and update error about inotify watch limit (fixes #4833) (#4835) 2018-03-23 12:56:38 +01:00
basicfs_watch_errors_others.go all: Add filesystem notification support 2017-10-20 14:52:55 +00:00
basicfs_watch_eventtypes_fen.go vendor: github.com/Zillode/notify is now github.com/syncthing/notify (#4813) 2018-03-14 14:48:22 +01:00
basicfs_watch_eventtypes_inotify.go vendor: github.com/Zillode/notify is now github.com/syncthing/notify (#4813) 2018-03-14 14:48:22 +01:00
basicfs_watch_eventtypes_kqueue.go lib/fs: Fix kqueue event list (fixes #5308) (#5885) 2019-07-23 14:11:15 +02:00
basicfs_watch_eventtypes_other.go vendor: github.com/Zillode/notify is now github.com/syncthing/notify (#4813) 2018-03-14 14:48:22 +01:00
basicfs_watch_eventtypes_readdcw.go lib/fs: Catch size-preserving changes on windows (fixes #5050) (#5056) 2018-07-09 18:29:22 +01:00
basicfs_watch_test.go lib/fs: Fix WatchRename test for FreeBSD (fixes #6613) 2020-08-03 23:24:01 +02:00
basicfs_watch_unsupported.go lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697) (#5734) 2019-05-25 20:08:26 +01:00
basicfs_windows.go all: Tweak error creation (#6391) 2020-03-03 22:40:00 +01:00
basicfs_windows_test.go lib/fs: Check events against both the user and eval root (#6013) 2019-09-22 08:03:22 +01:00
casefs.go lib/fs: More efficient casefs cache (#6974) 2020-09-09 14:38:39 +02:00
casefs_test.go lib/fs: More efficient casefs cache (#6974) 2020-09-09 14:38:39 +02:00
copyrangemethod.go all: Use protobuf to generate config structs (fixes #6734) (#6900) 2020-08-25 08:11:14 +02:00
copyrangemethod.pb.go all: Use protobuf to generate config structs (fixes #6734) (#6900) 2020-08-25 08:11:14 +02:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
debug_symlink_unix.go lib/fs: More efficient casefs cache (#6974) 2020-09-09 14:38:39 +02:00
debug_symlink_windows.go lib/fs: Properly handle case insensitive systems (fixes #1787, fixes #2739, fixes #5708) 2020-07-28 11:15:11 +02:00
errorfs.go lib/{fs,scanner}: gofmt from Go 1.14 (#6509) 2020-04-07 09:31:29 +02:00
fakefs.go lib/fs: More efficient casefs cache (#6974) 2020-09-09 14:38:39 +02:00
fakefs_test.go lib/fs, lib/model: Rewrite RecvOnly tests (#6318) 2020-02-12 07:47:05 +01:00
filesystem.go lib/fs: More efficient casefs cache (#6974) 2020-09-09 14:38:39 +02:00
filesystem_copy_range.go all: Add copy-on-write filesystem support (fixes #4271) (#6746) 2020-06-18 08:15:47 +02:00
filesystem_copy_range_allwithfallback.go lib/fs: Add support for Windows duplicate extents (#6764) 2020-06-18 22:32:26 +01:00
filesystem_copy_range_standard.go all: Add copy-on-write filesystem support (fixes #4271) (#6746) 2020-06-18 08:15:47 +02:00
filesystem_copy_range_test.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
filesystem_test.go lib/fs: Improve IsParent (#5658) 2019-04-22 11:12:32 +02:00
folding.go lib/fs: Optimize UnicodeLowercase (#6979) 2020-09-11 09:16:10 +02:00
folding_test.go lib/fs: Optimize UnicodeLowercase (#6979) 2020-09-11 09:16:10 +02:00
logfs.go lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697) (#5734) 2019-05-25 20:08:26 +01:00
mtimefs.go lib/fs: Unwrap mtimeFile, get fd the "correct" way (ref #6875) (#6877) 2020-08-07 07:47:48 +02:00
mtimefs_test.go all: Propagate errors from NamespacedKV (#6203) 2019-11-30 13:03:24 +01:00
tempname.go all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
tempname_test.go lib: Folder marker is now a folder 2017-09-02 05:52:38 +00:00
types.go all: Use protobuf to generate config structs (fixes #6734) (#6900) 2020-08-25 08:11:14 +02:00
types.pb.go all: Use protobuf to generate config structs (fixes #6734) (#6900) 2020-08-25 08:11:14 +02:00
util.go all: Cleanups enabled by Go 1.12 2019-11-10 10:16:10 +01:00
util_test.go lib/versioner: Restore for all versioners, cross-device support (#5514) 2019-04-28 23:30:16 +01:00
walkfs.go lib/fs: Pass infinite recursion error on instead of warning (#6846) 2020-07-22 22:10:24 +02:00
walkfs_test.go lib/config, lib/fs: Make junction behaviour configurable (ref #6606) (#6907) 2020-08-19 19:58:51 +02:00