Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Initial Commit | Michael Scherle | 2018-10-08 | 3 | -423/+1234 |
| | |||||
* | [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 |
| | |||||
* | CMake: Hide kernel option on BSD, make kernel dir configurable | Simon Rettberg | 2018-07-06 | 1 | -6/+7 |
| | |||||
* | [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. | ||||
* | [SERVER] Don't keep bg replication blocks in fs cache | Simon Rettberg | 2018-07-05 | 1 | -1/+5 |
| | | | | | | Further improving cache handling, don't keep blocks in cache that have been requested via background replication. It's likely these aren't needed in the near future. | ||||
* | [SERVER] Always use fsync instead of fdatasync | Simon Rettberg | 2018-07-05 | 2 | -9/+2 |
| | | | | | | | | Now that we support sparse files, using just fdatasync isn't safe anymore. Instead of handling both cases differently just drop fdatasync, the difference has probably been marginal all along anyways. | ||||
* | [SERVER] Use O_DIRECT for integrity checks | Simon Rettberg | 2018-07-04 | 2 | -30/+67 |
| | | | | | | | | | | | | | | The idea is that for full image checks, we don't want to pollute the fs cache with gigabytes of data that won't be needed again soon. This would certainly hurt performance on servers that dont have hundreds of GBs of RAM. For single block checks during replication this has the advantage that we don't check the block in memory before it hit the disk once, but actually flush the data to disk, then remove it from the page cache, and only then read it again, from disk. TODO: Might be worth making this a config option | ||||
* | [SERVER] Refactor uplink/cache handling, improve crc checking | Simon Rettberg | 2018-07-04 | 9 | -290/+351 |
| | | | | | | | | | | | | | The cacheFd is now moved to the uplink data structure and will only be handled by the uplink thread. The integrity checker now supports checking all blocks of an image. This will be triggered automatically whenever a check for a single block failed. Also, if a crc check on startup fails, the image won't be discarded anymore, but rather a full check will be initiated. Furthermore, when calling image_updateCacheMap() on an image that was previously complete, the cache map will now be re-initialized, and a new uplink connection created. | ||||
* | [SERVER] cmake: Add config option for extra compiler opptions | Simon Rettberg | 2018-07-04 | 1 | -5/+6 |
| | |||||
* | [SERVER] Use likely/unlikely in uplink disk writing loop | Simon Rettberg | 2018-06-25 | 2 | -4/+12 |
| | |||||
* | [SERVER] Try to re-open cacheFd if writing fails | Simon Rettberg | 2018-06-25 | 3 | -7/+58 |
| | | | | | | | In scenarios where the proxy is using an NFS server as storage (for whatever crazy reason) or when the cacheFd goes bad through e.g. a switchroot, try to re-open it instead of just disabling caching forever. | ||||
* | [SERVER] Make sure image has read fd before reading | Simon Rettberg | 2018-06-13 | 3 | -29/+60 |
| | |||||
* | [FUSE] Return 0 instead of EIO if trying to read past end | Simon Rettberg | 2018-06-13 | 1 | -1/+1 |
| | | | | | read() calls are supposed to return 0 when reading at EOF, so properly mimic that behavior. | ||||
* | [FUSE] Move variables into block where they're being used | Simon Rettberg | 2018-06-13 | 1 | -4/+4 |
| | |||||
* | [SERVER] Print info about signal sender | Simon Rettberg | 2018-05-03 | 1 | -5/+46 |
| | |||||
* | [SERVER] Don't spam log in vmdkLegacyMode for unknown images | Simon Rettberg | 2018-05-02 | 1 | -3/+7 |
| | |||||
* | [SERVER] Proper exit code and message when shutting down due to error or signal | Simon Rettberg | 2018-04-27 | 1 | -2/+6 |
| | |||||
* | [SERVER] Fix deadlock on shutdown (via image_tryFreeAll) | Simon Rettberg | 2018-04-24 | 1 | -4/+8 |
| | | | | | imageListLock was locked on twice in the call stack, which is bad if you're using non-recursive locks. | ||||
* | [SERVER] Acquire write lock before initializing array | Simon Rettberg | 2018-04-16 | 1 | -1/+5 |
| | |||||
* | [SERVER] Add bgrMinClients: Thresold to control when BGR starts | Simon Rettberg | 2018-04-12 | 4 | -5/+18 |
| | | | | | Background replication will not kick in if there aren't at least that many clients connected. | ||||
* | [SERVER] Mark spammy replication messages as DEBUG2 instead of 1 | Simon Rettberg | 2018-04-11 | 1 | -3/+3 |
| | |||||
* | [SERVER] Option to disable timestamps on stdout/console (default: disabled) | Simon Rettberg | 2018-04-11 | 5 | -9/+34 |
| | |||||
* | [SERVER] More error handling and logging when caching received data to disk | Simon Rettberg | 2018-04-10 | 1 | -4/+13 |
| | |||||
* | [SERVER] Ignore SIGPIPE | Simon Rettberg | 2018-04-10 | 1 | -0/+1 |
| | |||||
* | [SERVER] Error handling and logging when saving cache map | Simon Rettberg | 2018-04-10 | 1 | -24/+37 |
| | |||||
* | [SHARED] Reset errno | Simon Rettberg | 2018-04-05 | 1 | -0/+2 |
| | |||||
* | [KERNEL] Pre/post 4.11 handling of request ops | Jonathan Bauer | 2018-04-05 | 2 | -11/+30 |
| | |||||
* | [KERNEL] #ifs and #defines for timer pre/post 4.15 | Simon Rettberg | 2018-04-05 | 2 | -13/+18 |
| | |||||
* | [KERNEL] Macros for packing CMD_* into struct request | Simon Rettberg | 2018-03-27 | 1 | -4/+21 |
| | | | | Version check for pre or post 4.11 | ||||
* | Follow https://lwn.net/Articles/735887/ | Rafael Gieschke | 2018-03-24 | 2 | -4/+16 |
| | |||||
* | Include `linux/signal.h` for `siginitsetinv`, `sigmask`, `sigprocmask` | Rafael Gieschke | 2018-03-24 | 1 | -0/+1 |
| | |||||
* | Follow ↵ | Rafael Gieschke | 2018-03-23 | 2 | -11/+11 |
| | | | | https://github.com/torvalds/linux/commit/aebf526b53aea164508730427597d45f3e06b376 | ||||
* | [SERVER] Delete image files after releasing image to get rid of stale .map files | Simon Rettberg | 2018-03-19 | 1 | -7/+9 |
| | |||||
* | [SERVER] image.c: Add size to RPC data, rename bytesReceived, always add ↵ | Simon Rettberg | 2018-03-19 | 1 | -7/+11 |
| | | | | uplink if existent | ||||
* | [SERVER] Increase read() block size when calculating CRC32 | Simon Rettberg | 2018-03-19 | 1 | -1/+1 |
| | |||||
* | [SERVER] image_getCompletenessEstimate: Fix reversed logic in timeout check | Simon Rettberg | 2018-03-19 | 1 | -1/+3 |
| | |||||
* | [SERVER] Fix int overflows on 32bit builds in CRC generation | Simon Rettberg | 2018-03-16 | 2 | -7/+7 |
| |