summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | [BENCH] Allow specifying request block sizeSimon Rettberg2019-08-074-19/+32
| |
* | [SERVER] Use more _AtomicSimon Rettberg2019-08-072-5/+4Star
| |
* | [SERVER] Fix race condition and invalid lock orderSimon Rettberg2019-08-071-4/+7
| |
* | [SERVER] uplink: Improve attaching to existing requestsSimon Rettberg2019-08-062-35/+74
| | | | | | | | | | Allow attaching in ULR_PROCESSING state, leave lower slots empty to increase chances attaching to ULR_PROCESSING.
* | [BENCH] Increase timeouts, fix block payload readingSimon Rettberg2019-08-061-3/+3
| |
* | [BENCH] Fix a couple bugs in stress testerSimon Rettberg2019-08-063-82/+70Star
| |
* | [SERVER] Improve debug output if a locked lock gets destroyedSimon Rettberg2019-08-061-0/+1
| |
* | [SERVER] Fix: Client thread could destroy sendMutex while in useSimon Rettberg2019-08-061-0/+3
| | | | | | | | | | | | Fix a race condition where the client thread tears down the client struct including the sendMutex while the uplink thead is currently holding the lock, trying to send data to the client.
* | [SERVER] Allow uplink shutdown if bgrMinClients > image->usersSimon Rettberg2019-08-051-1/+2
| |
* | [SERVER] Add sanity check to threadpool_run for NULL routineSimon Rettberg2019-08-051-0/+4
| |
* | [SERVER] Switch threadpool back to spinlock, add idle thread counterSimon Rettberg2019-08-051-22/+23
| |
* | [SERVER] Atomicize some global flagsSimon Rettberg2019-08-032-2/+2
| |
* | [SERVER] Make image->users atomic and get rid of some lockingSimon Rettberg2019-08-022-53/+40Star
|/ | | | | | | | With this change it should be safe to read the users count of an image without locking first, assuming you already have a reference on the image or are otherwise sure it cannot be freed, i.e. in an active uplink. Updating users, or checking whether it's 0 in order to free the image should only be done while holding the imageListLock.
* i[SERVER] Include new pretendClient in config dumpv2.2Simon Rettberg2019-08-021-0/+1
|
* [SERVER] Fix compile in release modeSimon Rettberg2019-08-021-1/+1
|
* [SERVER] Turn all spinlocks into mutexesSimon Rettberg2019-07-2611-412/+467
| | | | | | | | Just assume sane platforms offer smart mutexes that have a fast-path with spinlocks internally for locks that have little to no congestion. In all other cases, mutexes should perform better anyways.
* [SERVER] Add pretendClient config optionSimon Rettberg2019-07-233-1/+10
| | | | | | This makes the server not set the FLAGS8_SERVER flag when establishing an uplink connection. Useful mostly for running a proxy on localhost for local caching.
* [SERVER] uplink: Relay request in client's thread if possibleSimon Rettberg2019-07-232-3/+57
| | | | | Early benchmarking shows that this is faster, since we don't require another thread to wake up just to send out the request.
* [FUSE] Add --sticky mode to ignore alt-servers announced by serversSimon Rettberg2019-03-073-6/+16
|
* [FUSE] Clean up argument handling, improve helpSimon Rettberg2019-03-071-19/+10Star
|
* [KERNEL] Lower queue->limits.max_sectors to 256, like nbdSimon Rettberg2019-02-131-1/+1
|
* [SERVER] Don't shutdown uplink if background replication is FULLSimon Rettberg2019-02-131-1/+1
|
* [FUSE] Use shared/timing.* instead of nowMilli/MicroSimon Rettberg2019-02-092-57/+43Star
|
* [SHARED] More timing helpersSimon Rettberg2019-02-091-0/+23
|
* [FUSE] Consider RTT of active connection for switch-decisionsSimon Rettberg2019-02-082-55/+123
|
* [SERVER] uplink: Dedicated function for handling link failureSimon Rettberg2019-02-081-31/+50
|
* [SERVER] integrity: Group check requests, use sync_file_range()Simon Rettberg2019-02-041-25/+51
| | | | | | | This requires a much shorter queue and balances hashing between different images if the checker lags behind. On Linux, use sync_file_range() instead of fsync() before reading back to speed up flushing.
* [SERVER] Cosmetic changes (loglvl, comment)Simon Rettberg2019-02-041-2/+2
|
* [SERVER] Export image idle time in json rpcSimon Rettberg2019-01-311-3/+6
| | | | Counter in seconds for how long this image hasn't been used.
* [SERVER] altservers.c: Improve log outputSimon Rettberg2019-01-312-20/+19Star
|
* [SERVER] Don't keep an uplink connection established foreverSimon Rettberg2019-01-315-49/+93
| | | | | | In case we don't use background replication a connection to an uplink server can potentially stay around forever. This in turn would prevent the uplink server from freeing the image as it appears to be in use.
* [SERVER] uplink: Check for _maxPayload when getting client requestSimon Rettberg2019-01-311-0/+4
| | | | | | It didn't make too much sense that we only checked _maxPayload when the reply arrived; simply don't forward a request where we already know we won't handle the reply.
* [SERVER] Lower log-level of non-critical messageSimon Rettberg2019-01-302-2/+3
|
* [SERVER] Only set BGR flag in handshake for BGR_FULLSimon Rettberg2018-11-162-2/+2
| | | | | | | _backgroundReplication was still treated as a boolean flag, so a server with BGR_NONE would reject a server with BGR_HASHBLOCK. While this still forces the BGR_NONE proxy to replicate more than it normally would, it seems reasonable to allow this.
* [SERVER] Fix json format stringSimon Rettberg2018-11-161-1/+1
| | | | Don't drop runId
* [KERNEL] Fix keep alive timer on 4.15+Simon Rettberg2018-08-151-1/+1
|
* [SERVER] rpc: Distinguish between client and server (proxy) connectionsSimon Rettberg2018-08-143-8/+18
|
* [SERVER] Fix last block replicating indefinitely in hasblock modeSimon Rettberg2018-08-141-5/+7
|
* [SERVER] Use atomic vars for uplink byte countersSimon Rettberg2018-08-132-28/+5Star
|
* [SERVER] Use atomic var for (total)bytesSent countersSimon Rettberg2018-08-085-102/+62Star
| | | | | | Gets rid of the lastBytesSent field as well as the stats lock per client. Cleaned and split up the messy net_clientsToJson function while at it.
* [SHARED] Use atomic for logger maskSimon Rettberg2018-08-081-2/+2
|
* [SERVER] Add missing file mode to open() callSimon Rettberg2018-07-261-2/+2
|
* [SERVER] Fix compilation on clang (atomic vars)Simon Rettberg2018-07-101-4/+4
|
* [SERVER] Reload server config on SIGHUPSimon Rettberg2018-07-103-70/+96
| | | | | | | Most config settings can now be changed at runtime using SIGHUP. This currently excludes the basePath, listenPort, and the client and image count limits, as well as vmdkLegacyMode.
* [SERVER] Fix use of wrong constant; increase queue len for hash checkerSimon Rettberg2018-07-102-2/+2
|
* [SERVER] Reduce spam some moreSimon Rettberg2018-07-091-1/+1
|
* [SERVER] Introduce backgroundReplication=hashblockSimon Rettberg2018-07-093-38/+142
| | | | | | | | This is a compromise; if you want to validate replicated data fairly quickly, using this option will make background replication only kick in when there's a "dirty" 16M block, i.e. some blocks within a 16M block are cached locally, but not all. Completing the block makes it possible to validate its CRC32 checksum.
* [SERVER] Reduce debug spamSimon Rettberg2018-07-091-2/+1Star
|
* [KERNEL] Add support for kernel 4.17.xSimon Rettberg2018-07-061-0/+11
|
* [FUSE] In panic mode, use a pending range for alt checkSimon Rettberg2018-07-051-5/+43
| | | | | | | | If we lost connection and then go check all known alt servers, see if we have some pending request queued and if so, use its offset and length for the alt server probe. This ensures that the server being tested is able to satisfy at least the next request we'll send.