summaryrefslogtreecommitdiffstats
path: root/src/server
Commit message (Collapse)AuthorAgeFilesLines
* [SERVER] Fix rid 0 proxy lookup if local version is newerSimon Rettberg2020-08-141-5/+15
| | | | | There was a logic bug that would favor a remotely looked up image rid, even if we already found a higher revision locally.
* [SERVER] FUSE: Set name for fuse theadsSimon Rettberg2020-07-311-0/+2
|
* [SERVER] FUSE: Use splice with move for local readsSimon Rettberg2020-07-311-2/+16
| | | | | | Greatly improves performance when reading from the local disk cache, and additionally avoids having everything in the fs cache twice (disk view and fuse view).
* [SERVER] FUSE: Fix arguments to fuseSimon Rettberg2020-07-302-2/+3
|
* [SERVER] Remove dead codeSimon Rettberg2020-07-301-6/+0Star
|
* [SERVER] Fix: Missing argument to fprintf()Simon Rettberg2020-07-301-1/+1
|
* [SERVER] Inline imageLookup/Open since we use fuse_mtSimon Rettberg2020-07-301-56/+34Star
|
* [SERVER] FUSE: Add readdir for /Simon Rettberg2020-07-301-1/+40
|
* [SERVER] Add FUSE modeSimon Rettberg2020-07-2811-102/+781
| | | | | Still needs some cleanup and optimizations, variable naming sucks, comments, etc.
* [SERVER] Fix: NULL pointer access in saveLoadAllCacheMaps()Simon Rettberg2020-07-211-0/+2
| | | | Entries in _images array might ne NULL
* [SERVER] Fix: No replication if autoFreeDiskSpaceDelay is disabledSimon Rettberg2020-06-301-4/+12
|
* [SERVER] Know when to stopSimon Rettberg2020-06-101-1/+1
|
* [SERVER] Likewise, flush entire payload on RTT measurementSimon Rettberg2020-06-101-1/+6
|
* [SERVER] Fix list walk when removing client from uplinkSimon Rettberg2020-06-101-1/+3
|
* [SERVER] fix uninitialized variableSimon Rettberg2020-06-101-1/+1
|
* [SERVER] Fix check for RTT block reply sizeSimon Rettberg2020-06-101-1/+1
|
* [SERVER] Check local and remote for updates on rid == 0Simon Rettberg2020-03-311-4/+8
|
* [SERVER] Make lock/thread debugging dedicated cmake optionSimon Rettberg2020-03-232-2/+2
|
* [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
|
* [SERVER] Shorter wait when closing socket after replySimon Rettberg2020-03-191-0/+2
|
* [SERVER] Add name param to threadpool_runSimon Rettberg2020-03-196-7/+16
|
* [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-172-4/+13
| | | | 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-138-394/+516
| | | | | | - 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-046-75/+164
| | | | | | | | | 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.