Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | [FUSE] Minor cleanup and fixes | Simon Rettberg | 2020-07-21 | 1 | -59/+38 |
| | |||||
* | [SHARED] Fix: connect with timeout returns socket handle on EINPROGRESS | Simon Rettberg | 2020-07-21 | 1 | -1/+1 |
| | | | | | | Only if we request non-blocking connect (connect_ms == -1) this function should return a socket fd that is not actually connected. Otherwise, consder this a failure, close the sock fd, and return -1. | ||||
* | [FUSE] Properly signal worker threads to exit on shutdown | Simon Rettberg | 2020-07-21 | 3 | -24/+70 |
| | | | | | | Our main signal handler sends SUGHUP to the receiver and background threads, so if they block in some recv() or poll() they will get EINTR and can check keepRunning. | ||||
* | [FUSE] Formatting | Simon Rettberg | 2020-07-21 | 5 | -180/+183 |
| | |||||
* | [FUSE] Fix a bunch of warnings | Simon Rettberg | 2020-07-21 | 2 | -8/+11 |
| | |||||
* | leak fix in main | ln-tech | 2020-01-12 | 3 | -5/+12 |
| | |||||
* | fixed code: removed useless splicing, code optimization, commandline ↵ | ln-tech | 2020-01-08 | 4 | -113/+31 |
| | | | | arguments fixed, auto_cache in lowlevel activated, multi and single threaded modes are supported now | ||||
* | code fixes, keepRunning is back, threads seem to be safe | ln-tech | 2019-11-15 | 3 | -31/+18 |
| | |||||
* | SIGINT fix, Reader-Writer oroblem fix | ln-tech | 2019-11-13 | 4 | -36/+43 |
| | |||||
* | cleaned code | ln-tech | 2019-10-27 | 3 | -176/+19 |
| | |||||
* | cleaned code and atomic_ints against | ln-tech | 2019-10-27 | 4 | -67/+401 |
| | |||||
* | cmake: Try to get include directories right (per target) | Simon Rettberg | 2019-10-07 | 1 | -1/+0 |
| | |||||
* | [FUSE] Increase socket timeout from 1 to 3 seconds | Simon Rettberg | 2019-08-28 | 1 | -2/+2 |
| | |||||
* | i[SERVER] Include new pretendClient in config dumpv2.2 | Simon Rettberg | 2019-08-02 | 1 | -0/+1 |
| | |||||
* | [SERVER] Fix compile in release mode | Simon Rettberg | 2019-08-02 | 1 | -1/+1 |
| | |||||
* | [SERVER] Turn all spinlocks into mutexes | Simon Rettberg | 2019-07-26 | 11 | -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 option | Simon Rettberg | 2019-07-23 | 3 | -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 possible | Simon Rettberg | 2019-07-23 | 2 | -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 servers | Simon Rettberg | 2019-03-07 | 3 | -6/+16 |
| | |||||
* | [FUSE] Clean up argument handling, improve help | Simon Rettberg | 2019-03-07 | 1 | -19/+10 |
| | |||||
* | [KERNEL] Lower queue->limits.max_sectors to 256, like nbd | Simon Rettberg | 2019-02-13 | 1 | -1/+1 |
| | |||||
* | [SERVER] Don't shutdown uplink if background replication is FULL | Simon Rettberg | 2019-02-13 | 1 | -1/+1 |
| | |||||
* | [FUSE] Use shared/timing.* instead of nowMilli/Micro | Simon Rettberg | 2019-02-09 | 2 | -57/+43 |
| | |||||
* | [SHARED] More timing helpers | Simon Rettberg | 2019-02-09 | 1 | -0/+23 |
| | |||||
* | [FUSE] Consider RTT of active connection for switch-decisions | Simon Rettberg | 2019-02-08 | 2 | -55/+123 |
| | |||||
* | [SERVER] uplink: Dedicated function for handling link failure | Simon Rettberg | 2019-02-08 | 1 | -31/+50 |
| | |||||
* | [SERVER] integrity: Group check requests, use sync_file_range() | Simon Rettberg | 2019-02-04 | 1 | -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 Rettberg | 2019-02-04 | 1 | -2/+2 |
| | |||||
* | [SERVER] Export image idle time in json rpc | Simon Rettberg | 2019-01-31 | 1 | -3/+6 |
| | | | | Counter in seconds for how long this image hasn't been used. | ||||
* | [SERVER] altservers.c: Improve log output | Simon Rettberg | 2019-01-31 | 2 | -20/+19 |
| | |||||
* | [SERVER] Don't keep an uplink connection established forever | Simon Rettberg | 2019-01-31 | 5 | -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 request | Simon Rettberg | 2019-01-31 | 1 | -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 message | Simon Rettberg | 2019-01-30 | 2 | -2/+3 |
| | |||||
* | [SERVER] Only set BGR flag in handshake for BGR_FULL | Simon Rettberg | 2018-11-16 | 2 | -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 string | Simon Rettberg | 2018-11-16 | 1 | -1/+1 |
| | | | | Don't drop runId | ||||
* | [KERNEL] Fix keep alive timer on 4.15+ | Simon Rettberg | 2018-08-15 | 1 | -1/+1 |
| | |||||
* | [SERVER] rpc: Distinguish between client and server (proxy) connections | Simon Rettberg | 2018-08-14 | 3 | -8/+18 |
| | |||||
* | [SERVER] Fix last block replicating indefinitely in hasblock mode | Simon Rettberg | 2018-08-14 | 1 | -5/+7 |
| | |||||
* | [SERVER] Use atomic vars for uplink byte counters | Simon Rettberg | 2018-08-13 | 2 | -28/+5 |
| | |||||
* | [SERVER] Use atomic var for (total)bytesSent counters | Simon Rettberg | 2018-08-08 | 5 | -102/+62 |
| | | | | | | 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 mask | Simon Rettberg | 2018-08-08 | 1 | -2/+2 |
| | |||||
* | [SERVER] Add missing file mode to open() call | Simon Rettberg | 2018-07-26 | 1 | -2/+2 |
| | |||||
* | [SERVER] Fix compilation on clang (atomic vars) | Simon Rettberg | 2018-07-10 | 1 | -4/+4 |
| | |||||
* | [SERVER] Reload server config on SIGHUP | Simon Rettberg | 2018-07-10 | 3 | -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 checker | Simon Rettberg | 2018-07-10 | 2 | -2/+2 |
| | |||||
* | [SERVER] Reduce spam some more | Simon Rettberg | 2018-07-09 | 1 | -1/+1 |
| | |||||
* | [SERVER] Introduce backgroundReplication=hashblock | Simon Rettberg | 2018-07-09 | 3 | -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 spam | Simon Rettberg | 2018-07-09 | 1 | -2/+1 |
| | |||||
* | [KERNEL] Add support for kernel 4.17.x | Simon Rettberg | 2018-07-06 | 1 | -0/+11 |
| | |||||
* | [FUSE] In panic mode, use a pending range for alt check | Simon Rettberg | 2018-07-05 | 1 | -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. |