summaryrefslogtreecommitdiffstats
path: root/src/server
Commit message (Collapse)AuthorAgeFilesLines
* [SERVER] Fix log calls in thread debug codeSimon Rettberg2020-11-131-5/+7
|
* cmake: Fix passing -Defines to ccSimon Rettberg2020-11-131-3/+3
|
* [BUILD] add build options to enable/disable build of dnbd3 componentsManuel Bentele2020-10-301-0/+1
|
* [SERVER] Update nextSave timestamp at start of functionSimon Rettberg2020-10-291-4/+6
| | | | | | | | | saveLoadAllCacheMaps() is called frequently, and a 'full' run can take some time. If we only update the nextSave timestamp when we're done, we might already have a concurrent call to the function, which will also do a 'full' run, since the timestamp is not updated yet. This doesn't break anything, but leads to even more disk activity, which is probably already high, given that the previous run is not done yet.
* [BUILD] remove the build requirement for an unused C++ compilerManuel Bentele2020-10-271-1/+2
| | | | | This patch sets the programming languages of each CMake project to C. With this change, CMake does not search for an unused C++ compiler anymore.
* [BUILD] add CMake targets to build binary and source packages with CPackManuel Bentele2020-10-223-8/+11
| | | | | | | | | | | This patch adds the following CMake targets - package - source to build bundeled packages. Those packages contain either all built binary artifacts or all source files for source code distribution. Both CMake targets are available in Release build configuration.
* [BUILD] add option to build the dnbd3-server with afl-fuzz supportManuel Bentele2020-10-202-5/+30
| | | | | The afl-fuzz support for the dnbd3-server requires an AFL C compiler like afl-gcc and can be enabled with the CMake option DNBD3_SERVER_AFL.
* [BUILD] set build type and stop Release build if repository is dirtyManuel Bentele2020-10-193-10/+7Star
|
* [BUILD] rewrite CMake build system to track changes of source filesManuel Bentele2020-10-1618-63/+124
| | | | | | | | | | This change restructures the source code directories, separates shared form non-shared application code and adds CMake dependencies. These dependencies allow the tracking of changes and trigger a rebuild of those build targets where changed files are involved. WARNING: Note that the support of the DNBD3_SERVER_AFL build option is not supported yet. Thus, the option should be never turned on.
* [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.