syncthing/lib/fs
Jakob Borg adce6fa473
all: Support syncing ownership (fixes #1329) (#8434)
This adds support for syncing ownership on Unixes and on Windows. The
scanner always picks up ownership information, but it is not applied
unless the new folder option "Sync Ownership" is set.

Ownership data is stored in a new FileInfo field called "platform data". This
is intended to hold further platform-specific data in the future
(specifically, extended attributes), which is why the whole design is a
bit overkill for just ownership.
2022-07-26 08:24:58 +02:00
..
basicfs_copy_range_copyfilerange.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_copy_range_duplicateextents.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_copy_range_ioctl.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_copy_range_sendfile.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +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_fileinfo_unix.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +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 all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_lstat_regular.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_lstat_windows.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_platformdata_unix.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
basicfs_platformdata_windows.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
basicfs_test.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
basicfs_unix.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
basicfs_watch_errors_linux.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch_errors_others.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch_eventtypes_darwin.go lib/fs: Handle permission change events on macos (fixes #7924) (#8150) 2022-01-30 17:21:21 +01:00
basicfs_watch_eventtypes_fen.go lib/fs: Do not follow symlinks in watcher on solaris (fixes #8020) (#8223) 2022-03-24 08:36:43 +01:00
basicfs_watch_eventtypes_inotify.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch_eventtypes_kqueue.go lib/fs, lib/model: Add warning about kqueue resource usage (fixes #7855) (#8249) 2022-04-05 21:32:06 +02:00
basicfs_watch_eventtypes_other.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch_eventtypes_readdcw.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch_notkqueue.go lib/fs, lib/model: Add warning about kqueue resource usage (fixes #7855) (#8249) 2022-04-05 21:32:06 +02:00
basicfs_watch_test.go all: Remove usage of deprecated io/ioutil (#7971) 2021-11-22 08:59:47 +01:00
basicfs_watch_unsupported.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_watch.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
basicfs_windows_test.go all: use T.TempDir to create temporary test directory (#8280) 2022-04-15 07:44:06 +04:00
basicfs_windows.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
basicfs.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
casefs_test.go all: use T.TempDir to create temporary test directory (#8280) 2022-04-15 07:44:06 +04:00
casefs.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +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: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
debug_symlink_unix.go all: Update build constraints to Go 1.17 style (#7894) 2021-08-17 10:10:41 +02:00
debug_symlink_windows.go all: Fix Microsoft documentation links in code comments (#7387) 2021-02-20 14:56:45 +01:00
debug.go all, lib/logger: Refactor SetDebug calls (#6054) 2019-10-04 13:03:34 +02:00
errorfs.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
fakefs_test.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
fakefs.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +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 all: Remove usage of deprecated io/ioutil (#7971) 2021-11-22 08:59:47 +01:00
filesystem_copy_range.go all: Add copy-on-write filesystem support (fixes #4271) (#6746) 2020-06-18 08:15:47 +02:00
filesystem_test.go lib/fs: Improve IsParent (#5658) 2019-04-22 11:12:32 +02:00
filesystem.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
folding_test.go lib/fs: Fix UnicodeLowercaseNormalized on lowercase NFD (#7692) 2021-05-17 20:43:07 +02:00
folding.go lib/fs: Fix UnicodeLowercaseNormalized on lowercase NFD (#7692) 2021-05-17 20:43:07 +02:00
logfs.go lib/fs, lib/api, lib/model: Expose mtime remappings as part of /db/file (#7624) 2021-05-03 11:28:25 +01:00
mtimefs_test.go all: use T.TempDir to create temporary test directory (#8280) 2022-04-15 07:44:06 +04:00
mtimefs.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
platform_common.go all: Support syncing ownership (fixes #1329) (#8434) 2022-07-26 08:24:58 +02:00
tempname_test.go lib/fs: Optimize TempName + some cosmetic changes (#7911) 2021-08-29 10:47:53 +02:00
tempname.go lib/fs: Optimize TempName + some cosmetic changes (#7911) 2021-08-29 10:47:53 +02: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: Move remaining protos to use the vanity plugin (#7009) 2020-10-02 08:07:05 +02:00
util_test.go lib/fs: optimize Windows path checking/sanitizing 2021-11-23 21:25:29 +01:00
util.go lib/fs: optimize Windows path checking/sanitizing 2021-11-23 21:25:29 +01:00
walkfs_test.go lib/fs: Expose fs option on interface (fixes #7385, ref #7381) (#7389) 2021-03-11 15:23:56 +01:00
walkfs.go lib/fs, lib/api, lib/model: Expose mtime remappings as part of /db/file (#7624) 2021-05-03 11:28:25 +01:00