Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [SERVER] Fix rid 0 proxy lookup if local version is newer | Simon Rettberg | 2020-08-14 | 1 | -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 theads | Simon Rettberg | 2020-07-31 | 1 | -0/+2 |
| | |||||
* | [SERVER] FUSE: Use splice with move for local reads | Simon Rettberg | 2020-07-31 | 1 | -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 fuse | Simon Rettberg | 2020-07-30 | 2 | -2/+3 |
| | |||||
* | [SERVER] Remove dead code | Simon Rettberg | 2020-07-30 | 1 | -6/+0 |
| | |||||
* | [SERVER] Fix: Missing argument to fprintf() | Simon Rettberg | 2020-07-30 | 1 | -1/+1 |
| | |||||
* | [SERVER] Inline imageLookup/Open since we use fuse_mt | Simon Rettberg | 2020-07-30 | 1 | -56/+34 |
| | |||||
* | [SERVER] FUSE: Add readdir for / | Simon Rettberg | 2020-07-30 | 1 | -1/+40 |
| | |||||
* | [SERVER] Add FUSE mode | Simon Rettberg | 2020-07-28 | 11 | -102/+781 |
| | | | | | Still needs some cleanup and optimizations, variable naming sucks, comments, etc. | ||||
* | [SERVER] Fix: NULL pointer access in saveLoadAllCacheMaps() | Simon Rettberg | 2020-07-21 | 1 | -0/+2 |
| | | | | Entries in _images array might ne NULL | ||||
* | [SERVER] Fix: No replication if autoFreeDiskSpaceDelay is disabled | Simon Rettberg | 2020-06-30 | 1 | -4/+12 |
| | |||||
* | [SERVER] Know when to stop | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Likewise, flush entire payload on RTT measurement | Simon Rettberg | 2020-06-10 | 1 | -1/+6 |
| | |||||
* | [SERVER] Fix list walk when removing client from uplink | Simon Rettberg | 2020-06-10 | 1 | -1/+3 |
| | |||||
* | [SERVER] fix uninitialized variable | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Fix check for RTT block reply size | Simon Rettberg | 2020-06-10 | 1 | -1/+1 |
| | |||||
* | [SERVER] Check local and remote for updates on rid == 0 | Simon Rettberg | 2020-03-31 | 1 | -4/+8 |
| | |||||
* | [SERVER] Make lock/thread debugging dedicated cmake option | Simon Rettberg | 2020-03-23 | 2 | -2/+2 |
| | |||||
* | [SERVER] image_ensureDiskSpace should only deletes proxied images | Simon Rettberg | 2020-03-20 | 1 | -18/+19 |
| | |||||
* | [SERVER] Remember atime in .meta file | Simon Rettberg | 2020-03-20 | 3 | -62/+139 |
| | |||||
* | [SERVER] Forbid hidden files when scanning image dir | Simon Rettberg | 2020-03-20 | 1 | -1/+2 |
| | |||||
* | [SERVER] Fix warnings, add assertions | Simon Rettberg | 2020-03-20 | 3 | -9/+15 |
| | |||||
* | [SERVER] Shorter wait when closing socket after reply | Simon Rettberg | 2020-03-19 | 1 | -0/+2 |
| | |||||
* | [SERVER] Add name param to threadpool_run | Simon Rettberg | 2020-03-19 | 6 | -7/+16 |
| | |||||
* | [SERVER] Use first request in queue for RTT measurements | Simon Rettberg | 2020-03-17 | 1 | -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 queue | Simon Rettberg | 2020-03-17 | 2 | -0/+6 |
| | |||||
* | [SERVER] Include build type and version in RPC | Simon Rettberg | 2020-03-17 | 2 | -4/+13 |
| | | | | Added new query type q=version, which uses the STATS access rights. | ||||
* | [SERVER] Don't prefetch across hash blocks in BGS_HASHBLOCK mode | Simon Rettberg | 2020-03-17 | 1 | -5/+8 |
| | |||||
* | [SERVER] threadpool: Simplify get code, make debug code _DEBUG only | Simon Rettberg | 2020-03-14 | 1 | -4/+7 |
| | |||||
* | [SERVER] Remove uplink_ prefix from static (private) functions | Simon Rettberg | 2020-03-14 | 1 | -40/+40 |
| | |||||
* | [SERVER] Add comments, assert for uplink thread | Simon Rettberg | 2020-03-14 | 1 | -6/+20 |
| | |||||
* | [SERVER] Use image:rid in log messages | Simon Rettberg | 2020-03-14 | 1 | -5/+5 |
| | |||||
* | [SERVER] Check server version before setting hopCount field | Simon Rettberg | 2020-03-13 | 1 | -1/+1 |
| | |||||
* | [SERVER] Check and increase hopCount when adding uplink request | Simon Rettberg | 2020-03-13 | 1 | -4/+7 |
| | |||||
* | [SERVER] Rewrite uplink queue handling | Simon Rettberg | 2020-03-13 | 8 | -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 type | Simon Rettberg | 2020-03-09 | 1 | -2/+2 |
| | |||||
* | [SERVER] Fix: Image would be assumed complete if no uplink exists | Simon Rettberg | 2020-03-06 | 1 | -1/+1 |
| | | | | Severe data corruption on client. Nice. | ||||
* | [SERVER] Add printf macro for image (name:rid as %s:%d) | Simon Rettberg | 2020-03-06 | 4 | -30/+27 |
| | |||||
* | [SERVER] Handle "warn unused result" cases | Simon Rettberg | 2020-03-06 | 6 | -10/+26 |
| | |||||
* | [SERVER] Reload cache maps periodically for local images | Simon Rettberg | 2020-03-06 | 3 | -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 maps | Simon Rettberg | 2020-03-04 | 6 | -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 handler | Simon Rettberg | 2020-03-04 | 2 | -51/+39 |
| | |||||
* | [SERVER] Get rid of two loops in image_updateCacheMap | Simon Rettberg | 2020-03-03 | 1 | -22/+18 |
| | |||||
* | [SERVER] Optimize client handler for CMD_GET_BLOCK | Simon Rettberg | 2020-03-03 | 1 | -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 data | Simon Rettberg | 2020-03-03 | 2 | -4/+13 |
| | |||||
* | [SERVER] Also add a flag for uplink queue overload | Simon Rettberg | 2020-03-03 | 3 | -8/+16 |
| | |||||
* | [SERVER] Remove "working" flag, introduce fine-grained flags | Simon Rettberg | 2020-03-03 | 6 | -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 Rettberg | 2020-02-26 | 1 | -1/+1 |
| | |||||
* | [SERVER] Introduce ignoreAllocErrors | Simon Rettberg | 2020-02-24 | 3 | -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 mode | Simon Rettberg | 2020-01-28 | 1 | -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. |