syncthing/lib/fs
Jakob Borg c71116ee94
Implement database abstraction, error checking (ref #5907) (#6107)
This PR does two things, because one lead to the other:

- Move the leveldb specific stuff into a small "backend" package that
defines a backend interface and the leveldb implementation. This allows,
potentially, in the future, switching the db implementation so another
KV store should we wish to do so.

- Add proper error handling all along the way. The db and backend
packages are now errcheck clean. However, I drew the line at modifying
the FileSet API in order to keep this manageable and not continue
refactoring all of the rest of Syncthing. As such, the FileSet methods
still panic on database errors, except for the "database is closed"
error which is instead handled by silently returning as quickly as
possible, with the assumption that we're anyway "on the way out".
2019-11-29 09:11:52 +01:00
..
basicfs.go lib/fs: Check events against both the user and eval root (#6013) 2019-09-22 08:03:22 +01:00
basicfs_fileinfo_unix.go lib/fs: Rename fsFile* to basicFile* (#5546) 2019-02-24 18:02:02 +01:00
basicfs_fileinfo_windows.go lib/fs: Rename fsFile* to basicFile* (#5546) 2019-02-24 18:02:02 +01:00
basicfs_test.go lib/fs: Add test that symlinks are skipped on walk (#5644) 2019-04-10 22:36:37 +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: Replace done channel with contexts in and add names to util services (#6166) 2019-11-21 08:41:15 +01: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 lib/fs: Check events against both the user and eval root (#6013) 2019-09-22 08:03:22 +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
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
errorfs.go lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697) (#5734) 2019-05-25 20:08:26 +01:00
fakefs.go lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697) (#5734) 2019-05-25 20:08:26 +01:00
fakefs_test.go all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
filesystem.go lib/fs, lib/model: Add error channel to Watch to avoid panics (fixes #5697) (#5734) 2019-05-25 20:08:26 +01:00
filesystem_test.go lib/fs: Improve IsParent (#5658) 2019-04-22 11:12:32 +02:00
folding.go lib/fs: Add case insensitivity to MtimeFS 2017-11-17 12:10:16 +00:00
folding_test.go all: Fix typos (#4772) 2018-02-24 08:51:29 +01: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
lstat_broken.go lib/scanner: Use fs.Filesystem for all operations 2017-04-01 09:04:11 +00:00
lstat_regular.go lib/scanner: Use fs.Filesystem for all operations 2017-04-01 09:04:11 +00:00
mtimefs.go Implement database abstraction, error checking (ref #5907) (#6107) 2019-11-29 09:11:52 +01:00
mtimefs_test.go Implement database abstraction, error checking (ref #5907) (#6107) 2019-11-29 09:11:52 +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 lib/fs: Add fakefs (#5235) 2018-10-02 19:29:06 +01: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/scanner, lib/fs: Don't create file infos with abs paths (fixes #4799) (#4800) 2018-03-12 13:18:59 +01:00
walkfs_test.go lib/fs: Add test that symlinks are skipped on walk (#5644) 2019-04-10 22:36:37 +02:00