Simon Frei and GitHub
b784f5b9e3
lib/config, lib/model: Commit auto-accepted folders all at once ( #6684 )
2020-05-27 08:05:26 +02:00
greatroar and GitHub
baa38eea7a
lib/assets: Allow assets to remain uncompressed ( #6661 )
2020-05-25 08:51:27 +02:00
Simon Frei and GitHub
c3b5eba205
lib/model: Fix checking children when trying to delete a dir ( fixes #6646 ) ( #6647 )
2020-05-25 08:46:24 +02:00
Simon Frei and GitHub
cf75329067
lib/model: Handle concurrently removed device in ClusterConfig ( #6666 )
2020-05-20 11:13:55 +02:00
Simon Frei and GitHub
8f344d0915
lib/db: Initialize need meta on first dev occurrence ( fixes #6668 ) ( #6669 )
2020-05-20 11:01:27 +02:00
Simon Frei and GitHub
5b34c31cb3
lib/db: Don't panic on seq. coruption when debugging ( #6662 )
2020-05-18 10:42:51 +02:00
Jakob Borg and GitHub
5ffa012410
lib/model: Don't crash when taking rename shortcut ( fixes #6654 ) ( #6657 )
...
If we fail to take the rename shortcut we may crash on a later loop,
because we do trickiness with the indexes but the original buckets[key]
in "range buckets[key]" isn't re-evaluated so i exceeds the max index.
2020-05-17 08:48:35 +01:00
Jakob Borg and GitHub
651ee2ce74
lib/model: Partial revert of rename fix ( fixes #6653 ) ( #6656 )
...
We can't just drop the snap because it's in use elsewhere. This should
be equally functional.
2020-05-16 23:05:33 +02:00
Audrius Butkevicius and GitHub
a1c5b44c74
lib/model: Fix rename handling (ref #6650 ) ( #6652 )
2020-05-16 14:39:27 +02:00
Simon Frei and GitHub
de9489585f
lib/db: Filter repeat files in one update (ref #6650 ) ( #6651 )
2020-05-16 14:34:53 +02:00
xarx00 and GitHub
f05ccd775a
lib/fs: Set execute bits on junctions converted to dirs (ref #6606 ) ( #6645 )
2020-05-14 08:09:58 +02:00
Simon Frei and GitHub
e5cc55ce09
lib/model: Close conns when devices are removed ( fixes #6564 ) ( #6641 )
2020-05-14 07:50:53 +02:00
Simon Frei and GitHub
299b9d8883
lib/model: Adjust remote-rename-test to timer-based versions ( fixes #6625 ) ( #6644 )
2020-05-14 00:31:05 +02:00
Simon Frei and GitHub
074097a8e7
lib/fs: Prevent race-detector triggering in tests ( fixes #6608 ) ( #6642 )
2020-05-14 00:30:09 +02:00
xarx00 and GitHub
ee445e35a0
lib/fs: Treat Windows junctions as normal directories ( #6606 )
...
Fixes #1830 , presumably.
2020-05-13 21:46:24 +02:00
Simon Frei and GitHub
974551375e
lib/db: Dont add symlinks to blocks map ( fixes #6637 ) ( #6639 )
2020-05-13 20:38:21 +02:00
Jakob Borg and GitHub
531ceb2b0f
Add indirection for large version vectors. ( #6376 )
...
This adds indirection of large version vectors in the same manner as we
already to block lists. The effect is the same: less duplicated data in
some situations.
To mitigate the impact for when this indirection
wouldn't be needed I've added an indirection cutoff for both blocks and
the new version vector stuff: we don't do the indirection at all for
small block lists or small version vectors, instead storing it directly
like we used to do. This is faster for small files and small setups.
2020-05-13 14:28:42 +02:00
Simon Frei and GitHub
ba4462a70b
lib/db: Fix updating/removing from global (ref #6413 ) ( #6635 )
2020-05-13 12:56:49 +02:00
Audrius Butkevicius and GitHub
6201eebc98
lib/model: Add support for different puller block ordering ( #6587 )
...
* WIP
* Tests
* Header and format
* WIP
* Fix tests
* Goland you disappoint me
* Remove CC storage
* Update blockpullreorderer.go
2020-05-11 22:44:04 +01:00
Audrius Butkevicius and GitHub
decb967969
all: Reorder sequences for better rename detection ( #6574 )
2020-05-11 20:15:11 +02:00
Simon Frei and GitHub
a94951becd
lib/db, lib/model: Keep need stats in metadata (ref #5899 ) ( #6413 )
2020-05-11 15:07:06 +02:00
Audrius Butkevicius and GitHub
7dc290c3ed
lib/connections: React to listeners going up and down faster ( #6590 )
2020-05-11 15:02:22 +02:00
Simon Frei and GitHub
5c87ceb392
build: Update .gitignores for new asset locs (ref #6624 ) ( #6631 )
2020-05-11 11:04:47 +01:00
greatroar and GitHub
06365e5635
cmd/strelaypoolsrv, lib/api: Factor out static asset serving ( #6624 )
2020-05-10 11:44:34 +02:00
Audrius Butkevicius and GitHub
da99203dcd
lib/db: Fix non-truncated fileinfo loading ( #6621 )
2020-05-08 20:31:43 +01:00
Simon Frei and GitHub
57ea8a1bf5
lib/model: Prevent panic on test failure (ref #6618 ) ( #6620 )
2020-05-08 17:56:49 +02:00
Jakob Borg and GitHub
c0c18a568c
lib/db: Hold the bloom filter the right way ( fixes #6614 ) ( #6617 )
2020-05-08 14:18:00 +02:00
greatroar and GitHub
e2febf246e
all: Store assets as strings ( #6611 )
...
Storing assets as []byte requires every compiled-in asset to be copied
into writable memory at program startup. That currently takes up 1.6MB
per syncthing process. Strings stay in the RODATA section and should be
shared between processes running the same binary.
2020-05-07 11:47:23 +02:00
Simon Frei and GitHub
2cdeb1bf70
lib/model: Spurious tmp file (ref #6607 ) ( #6609 )
2020-05-07 08:49:59 +02:00
Jakob Borg and GitHub
876609a0f0
lib/model: Fix test after version vector changes ( #6607 )
2020-05-06 21:19:33 +02:00
Jakob Borg and GitHub
744ef0d8ac
lib/protocol: Avoid data loss on database wipe by higher version numbers ( fixes #3876 ) ( #6605 )
...
This makes version vector values clock based instead of just incremented
from zero. The effect is that a vector that is created from scratch
(after database reset) will have a higher value for the local device
than what it could have been previously, causing a conflict. That is, if
we are A and we had
{A: 42, B: 12}
in the old scheme, a reset and rescan would give us
{A: 1}
which is a strict ancestor of the older file (this might be wrong). With
the new scheme we would instead have
{A: someClockTime, b: otherClockTime}
and the new version after reset would become
{A: someClockTime+delta}
which is in conflict with the previous entry (better).
In case the clocks are wrong (current time is less than the value in the
vector) we fall back to just simple increment like today.
This scheme is ineffective if we suffer a database reset while at the
same time setting the clock back far into the past. It's however no
worse than what we already do.
This loses the ability to emit the "added" event, as we can't look for
the magic 1 entry any more. That event was however already broken
(#5541 ).
Another place where we infer meaning from the vector itself is in
receive only folders, but there the only criteria is that the vector is
one item long and includes just ourselves, which remains the case with
this change.
* wip
2020-05-06 08:47:02 +02:00
Simon Frei and GitHub
b5fc332782
lib/model: Merge add and start folder funcs and related refactor ( #6594 )
2020-05-06 08:34:54 +02:00
Simon Frei and GitHub
914eb77ca4
lib/model: Don't include iolimiter wait into sync duration ( #6593 )
2020-05-04 08:43:35 +02:00
Simon Frei and GitHub
2e3975e956
lib/model: Improve errors when deleting dirs ( fixes #6575 ) ( #6586 )
2020-05-01 11:11:38 +02:00
Audrius Butkevicius and GitHub
bd0c2bf237
lib/model: Do file recheck in folder loop ( fixes #6583 ) ( #6585 )
2020-05-01 11:08:59 +02:00
Audrius Butkevicius and GitHub
f86deedd9c
lib/model: Progress emitter network operations dont need to be blocking ( #6589 )
...
* lib/model: Progress emitter network operations dont need to be blocking
* Do sends outside of the lock
2020-05-01 08:54:15 +01:00
Audrius Butkevicius and GitHub
782bd08aad
lib/model: Add option to disable fsync ( #6588 )
...
* lib/model: Add option to disable fsync
* Fix test
* Dont open stuff for no reason
2020-05-01 08:36:46 +01:00
Simon Frei and GitHub
22242d51be
lib/db: Refactor getting global lists ( #6529 )
...
* lib/db: Refactor getting global lists
* VL -> Versions
* keyBuf
* don't touch db migration
2020-05-01 08:30:20 +01:00
Audrius Butkevicius and GitHub
ac7338f1f2
lib/connections: Update quic ( #6591 )
...
* lib/connections: Update quic
* Fix freebsd builds?
* Undo x/sys and gopsutil update
* Update quic_dial.go
* Update quic_listen.go
2020-05-01 08:14:28 +01:00
Jakob Borg
0e2a07d71a
lib/fs: Avoid dirty offset read in fakefs ( fixes #6584 )
2020-04-28 09:58:31 +02:00
Jakob Borg and GitHub
8c61e0d6ab
lib/config: Sort versioning options on marshal ( fixes #6576 ) ( #6577 )
2020-04-27 00:13:35 +02:00
Jakob Borg and GitHub
6c73617974
lib/model: Use semaphore to limit concurrent folder writes ( fixes #6541 ) ( #6573 )
2020-04-27 00:13:18 +02:00
Simon Frei and GitHub
d3ed4de4ed
lib/model: Don't exit pullerRoutine on cancelled ctx ( fixes #6559 ) ( #6562 )
...
* lib/model: Don't exit pullerRoutine on cancelled ctx (fixes #6559 )
* actual fix
2020-04-21 18:55:14 +01:00
Simon Frei and GitHub
6bbd24de12
lib/model: Refactor folder health/error handling ( fixes #6557 ) ( #6558 )
2020-04-21 10:15:59 +02:00
Boqin Qin and GitHub
c63ca4f563
lib/protocol, rc, utils: Add mutex Unlock before panic ( #6556 )
2020-04-20 14:52:16 +02:00
greatroar and GitHub
0e5ba3ca05
lib/db: Upgrade to Blobloom v0.1.1 ( #6553 )
...
Now faster and Apache-licensed.
2020-04-20 14:23:36 +02:00
greatroar and GitHub
44b0f0b456
lib/db: Switch to faster blobloom Bloom filter pkg ( #6537 )
2020-04-20 09:02:33 +02:00
MikolajTwarog and GitHub
4aa2199d5b
lib/connections: Accept new connections in place of old ones ( fixes #5224 ) ( #6548 )
2020-04-20 08:23:38 +02:00
Simon Frei and GitHub
49798552f2
lib/model: Delay watch setup on errors ( fixes #5731 ) ( #6544 )
2020-04-17 17:43:42 +02:00
Jakob Borg
171b8139ab
lib/model: Fix logging placeholder
2020-04-16 15:42:45 +02:00