summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * [BENCH] fix wrong operator precedenceSimon Rettberg2020-03-231-1/+1
| |
| * [SERVER] Make lock/thread debugging dedicated cmake optionSimon Rettberg2020-03-233-11/+19
| |
| * [SHARED] connect_ms might change above, don't checkSimon Rettberg2020-03-231-1/+1
| |
| * [SERVER] image_ensureDiskSpace should only deletes proxied imagesSimon Rettberg2020-03-201-18/+19
| |
| * [SERVER] Remember atime in .meta fileSimon Rettberg2020-03-203-62/+139
| |
| * [SERVER] Forbid hidden files when scanning image dirSimon Rettberg2020-03-201-1/+2
| |
| * [SERVER] Fix warnings, add assertionsSimon Rettberg2020-03-203-9/+15
| |
| * [SHARED] crc32: Don't skip table lookup if PCLMUL is unavailableSimon Rettberg2020-03-191-12/+13
| |
| * [SERVER] crc32: Fix compile with optimizationsSimon Rettberg2020-03-191-2/+2
| | | | | | | | | | Should have tested in "Release" mode I guess. Seems we're at about 24x performance this way, so hooray.
| * [SERVER] Use PCLMUL for crc32 on AMD64 if availableSimon Rettberg2020-03-192-55/+178
| | | | | | | | | | | | | | This is about 16x as fast as before with the lookup table for processing 4 bytes at a time and should work on any AMD64 CPU made in the last decade. We still need an AltiVec implementation for G5 though.
| * [SERVER] Shorter wait when closing socket after replySimon Rettberg2020-03-191-0/+2
| |
| * cmake: Fix version string dependency hell stuff once againSimon Rettberg2020-03-191-2/+3
| | | | | | | | | | BULLSHIT BULLSHIT
| * [SERVER] Add name param to threadpool_runSimon Rettberg2020-03-196-7/+16
| |
| * cmake: Fix version.c building on fresh checkoutsSimon Rettberg2020-03-181-4/+4
| |
| * [SERVER] Use first request in queue for RTT measurementsSimon Rettberg2020-03-171-6/+20
| | | | | | | | | | | | This makes sure the server we're potentially switching to can at least serve the next request in the queue, making sure some progress will be made.
| * [SERVER] Make sure bgrWindowSize doesn't overwhelm uplink queueSimon Rettberg2020-03-172-0/+6
| |
| * [SERVER] Include build type and version in RPCSimon Rettberg2020-03-176-13/+20
| | | | | | | | Added new query type q=version, which uses the STATS access rights.
| * [SERVER] Don't prefetch across hash blocks in BGS_HASHBLOCK modeSimon Rettberg2020-03-171-5/+8
| |
| * [SERVER] threadpool: Simplify get code, make debug code _DEBUG onlySimon Rettberg2020-03-141-4/+7
| |
| * [SERVER] Remove uplink_ prefix from static (private) functionsSimon Rettberg2020-03-141-40/+40
| |
| * [SERVER] Add comments, assert for uplink threadSimon Rettberg2020-03-141-6/+20
| |
| * [SERVER] Use image:rid in log messagesSimon Rettberg2020-03-141-5/+5
| |
| * [SERVER] Check server version before setting hopCount fieldSimon Rettberg2020-03-131-1/+1
| |
| * [SERVER] Check and increase hopCount when adding uplink requestSimon Rettberg2020-03-131-4/+7
| |
| * [SERVER] Rewrite uplink queue handlingSimon Rettberg2020-03-139-395/+518
| | | | | | | | | | | | - Now uses linked lists instead of huge array - Does prefetch data on client requests - Can have multiple replication requests in-flight
| * [SERVER] Fix data typeSimon Rettberg2020-03-091-2/+2
| |
| * [SERVER] Fix: Image would be assumed complete if no uplink existsSimon Rettberg2020-03-061-1/+1
| | | | | | | | Severe data corruption on client. Nice.
| * [SERVER] Add printf macro for image (name:rid as %s:%d)Simon Rettberg2020-03-064-30/+27Star
| |
| * [SERVER] Handle "warn unused result" casesSimon Rettberg2020-03-066-10/+26
| |
| * [SERVER] Reload cache maps periodically for local imagesSimon Rettberg2020-03-063-49/+93
| | | | | | | | | | | | If an image is incomplete, but has no upstream server that can be used for replication, reload the cache map from disk periodically, in case some other server instance is writing to the image.
| * [SERVER] Add timer task for saving cache mapsSimon Rettberg2020-03-047-76/+168
| | | | | | | | | | | | | | | | | | Cache maps will now be saved periodically, but only if either they have a "dirty" bit set, which happens if any bits in the map get cleared again (due to corruption), or if new data has been replicated from an uplink server. This either means at least one byte received and 5 minutes have passed, or at least 500MB have been downloaded. The timer currently runs every 20 seconds.
| * [SERVER] Likewise, get rid of same loops in client handlerSimon Rettberg2020-03-042-51/+39Star
| |
| * [SERVER] Get rid of two loops in image_updateCacheMapSimon Rettberg2020-03-031-22/+18Star
| |
| * [SERVER] Optimize client handler for CMD_GET_BLOCKSimon Rettberg2020-03-031-25/+43
| | | | | | | | | | | | | | | | Move CMD_GET_BLOCK out of switch block and mark as likely. Don't acquire and release cache map for every single request, but keep reference around and only release when a message other than CMD_GET_BLOCK arrives. On idle links, this should happen through CMD_KEEPALIVE every now and then.
| * [SERVER] Expose image->problem bools as bitmask in RPC json dataSimon Rettberg2020-03-032-4/+13
| |
| * [SERVER] Also add a flag for uplink queue overloadSimon Rettberg2020-03-033-8/+16
| |
| * [SERVER] Remove "working" flag, introduce fine-grained flagsSimon Rettberg2020-03-036-158/+197
| | | | | | | | | | | | | | | | Tracking the "working" state of images using one boolean is insufficient regarding the different ways in which providing an image can fail. Introduce separate flags for different conditions, like "file not readable", "file not writable", "no uplink server available", "file content has changed".
| * [SERVER] altservers: Fix missing index mapping (replication)Simon Rettberg2020-02-261-1/+1
| |
| * [SERVER] Introduce ignoreAllocErrorsSimon Rettberg2020-02-243-2/+16
| | | | | | | | | | If enabled, a failed fallocate will not abort image replication, but retry with sparse mode.
| * [SERVER] Lookup image on storage even in proxy modeSimon Rettberg2020-01-281-8/+11
| | | | | | | | | | | | | | In proxy mode, when rid 0 is requested, we now first query our uplink servers for the latest revision and if this fails, like in non-proxy mode, we'll see what the latest version on disk is.
| * [SERVER] Fix another nullpointer accessSimon Rettberg2019-10-301-1/+3
| |
| * [SERVER] Fix checking images without cache mapSimon Rettberg2019-10-293-10/+14
| |
| * Merge branch 'master' into atomicSimon Rettberg2019-10-283-35/+163
| |\
| * | [*] Fix/simplify checks for linuxSimon Rettberg2019-09-172-3/+3
| | |
| * | [SERVER] rpc: Fix warningsSimon Rettberg2019-09-111-2/+2
| | |
| * | [*] Use __attribute__((packed)) instead of #pragma packSimon Rettberg2019-09-111-15/+5Star
| | |
| * | [SERVER] Make buffer when reading for crc check largerSimon Rettberg2019-09-111-1/+1
| | |
| * | cmake: Add macro to add compiler flag only if supportedSimon Rettberg2019-09-111-6/+24
| | |
| * | [SERVER] Make integrity checks on startup asyncSimon Rettberg2019-09-103-31/+37
| | |
| * | Fix compilation on older gccSimon Rettberg2019-09-092-3/+3
| | |