nbdkit
dattobd
Our great sponsors
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nbdkit
-
Disk write buffering and its interactions with write flushes
Direct IO is very inflexible. A better way is this (recommended by Linus):
https://lkml.iu.edu/hypermail/linux/kernel/1005.2/01845.html
I implemented something along the same lines but a bit less spicy here:
https://gitlab.com/nbdkit/nbdkit/-/commit/aa5a2183a6d16afd91...
That second link is wrong, should be: https://gitlab.com/nbdkit/nbdkit/-/commit/a956e2e75d6c88eeef...
-
The C++20 Naughty and Nice List for Game Devs
I think an exception might be made for a plain "C-like" struct that doesn't initialize members or contain anything except basic types. In the specific example[0] the code is actually surrounded by extern "C" { ... } so I suppose that the compiler "knows" this is a plain C struct?
[0] https://gitlab.com/nbdkit/nbdkit/-/blob/cd761c9bf770b23f678f...
- Static Analysis Tools for C
- jq 1.7 Released
-
The OpenTF Manifesto
We relicensed[1] a project which had 10 contributors, and we got every single one of them to do an Acked-by (by email) which took some weeks. That was the advice from our lawyers. Can't imagine the impossible hassle of doing the same for something like Linux.
[1] https://gitlab.com/nbdkit/nbdkit/-/commit/952ffe0fc7685ea775...
- TIL: You Can Stop Updating Copyright Attribution Years (2021)
- Starting October 19, storage limit will be enforced on all Gitlab Free accounts
-
The C/C++ preprocessor iceberg with explanations
We use this (trick taken from stackoverflow) to make __COUNTER__ usefully provide unique names:
https://gitlab.com/nbdkit/nbdkit/-/blob/master/common/includ...
Example use:
https://gitlab.com/nbdkit/nbdkit/-/blob/master/common/includ...
I don't know what __EXP_COUNTER__ would add.
- Buffet
dattobd
-
BEST Way to backup a Raspberry Pi?
(Or if you're really crazy, and want image based incremental backups then this exists https://github.com/datto/dattobd).
-
Imaging mounted disk volumes under duress
The dattobd [1] block device driver fills this gap. It basically implements VSS like behavior on Linux. It is used in the Datto Linux backup agent in combination with the backup appliance [2], but it can be used stand alone as well (see readme).
Disclaimer: I'm a software engineer for Datto.
What are some alternatives?
raspberry-pi-os - Learning operating system development using Linux kernel and Raspberry Pi
PrawnOS - Libre Mainline Kernel and Debian for arm laptops
rpi-clone - A shell script to clone a booted disk.
libnbd
qemu
nct6687d - Linux kernel module for Nuvoton NCT6687-R
lkm-sandbox - Collection of Linux Kernel Modules and PoC to discover, learn and practice Linux Kernel Development
kdai - kdai(Kernel Dynamic ARP Inspection) is a linux kernel module to defend against arp cache poisoning
Hotpot - Distributed Shared Persistent Memory. SoCC 2017
Rust-for-Linux - Adding support for the Rust language to the Linux kernel.
transgui - 🧲 A feature rich cross platform Transmission BitTorrent client. Faster and has more functionality than the built-in web GUI.
spy - :eyes: Linux kernel mode debugfs keylogger