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_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_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_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_windows_test.go lib/fs: Check events against both the user and eval root (#6013) 2019-09-22 08:03:22 +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.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_test.go all: Revert the underscore sillyness 2019-02-02 12:16:27 +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
filesystem_test.go lib/fs: Improve IsParent (#5658) 2019-04-22 11:12:32 +02: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
folding_test.go all: Fix typos (#4772) 2018-02-24 08:51:29 +01:00
folding.go lib/fs: Add case insensitivity to MtimeFS 2017-11-17 12:10:16 +00: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_test.go Implement database abstraction, error checking (ref #5907) (#6107) 2019-11-29 09:11:52 +01:00
mtimefs.go Implement database abstraction, error checking (ref #5907) (#6107) 2019-11-29 09:11:52 +01:00
tempname_test.go lib: Folder marker is now a folder 2017-09-02 05:52:38 +00:00
tempname.go all: Revert the underscore sillyness 2019-02-02 12:16:27 +01:00
types.go lib/fs: Add fakefs (#5235) 2018-10-02 19:29:06 +01:00
util_test.go lib/versioner: Restore for all versioners, cross-device support (#5514) 2019-04-28 23:30:16 +01:00
util.go all: Cleanups enabled by Go 1.12 2019-11-10 10:16:10 +01:00
walkfs_test.go lib/fs: Add test that symlinks are skipped on walk (#5644) 2019-04-10 22:36:37 +02: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