summaryrefslogtreecommitdiff
path: root/index.mdwn
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2023-09-11 17:26:07 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2023-09-11 17:26:13 -0400
commit2a2219526e2243d95dd283da73f01d6de2b62a77 (patch)
treef99faabd5cc8dae66149d2e9d4ec509ae6ec02bf /index.mdwn
parent31a414aa45a9962946a4390d7a329766a1f9acc3 (diff)
Big update
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Diffstat (limited to 'index.mdwn')
-rw-r--r--index.mdwn128
1 files changed, 22 insertions, 106 deletions
diff --git a/index.mdwn b/index.mdwn
index ee126d9..588d1e4 100644
--- a/index.mdwn
+++ b/index.mdwn
@@ -9,120 +9,36 @@ from a modern filesystem.
* Full data and metadata checksumming
* Multiple devices
* Replication
-* Erasure coding (only feature not quite stable)
-* Caching
-* Compression
-* Encryption
-* Snapshots
-* Scalable - has been tested to 50+ TB, will eventually scale far higher
+* [[Erasure coding|ErasureCoding]] (not stable)
+* [[Caching, data placement|Caching]]
+* [[Compression]]
+* [[Encryption]]
+* [[Snapshots]]
+* Scalable - has been tested to 100+ TB, expected to scale far higher (testers wanted!)
+* High performance, low tail latency
* Already working and stable, with a small community of users
-We prioritize robustness and reliability over features and hype: we make every
-effort to ensure you won't lose data. It's building on top of a codebase with a
-pedigree - bcache already has a reasonably good track record for reliability
-(particularly considering how young upstream bcache is, in terms of engineer
-man/years). Starting from there, bcachefs development has prioritized
-incremental development, and keeping things stable, and aggressively fixing
-design issues as they are found; the bcachefs codebase is considerably more
-robust and mature than upstream bcache.
+## Philosophy
-Fixing bugs always take priority over features! This means getting features out
-takes longer, but for a filesystem not losing your data is the biggest feature.
-
-Developing a filesystem is also not cheap or quick or easy; we need funding!
-Please chip in on [[Patreon|https://www.patreon.com/bcachefs]] - the Patreon
-page also has more information on the motivation for bcachefs and the state of
-Linux filesystems, as well as some bcachefs status updates and information on
-development.
-
-If you don't want to use Patreon, I'm also happy to take donations via paypal:
-kent.overstreet@gmail.com.
-
-Join us in the bcache IRC channel, we have a small group of bcachefs users and
-testers there: #bcache on OFTC (irc.oftc.net).
-
-## Getting started
-
-Bcachefs is not yet upstream - you'll have to build a kernel to use it.
-
-First, check out the bcache kernel and tools repositories:
-
- git clone https://evilpiepirate.org/git/bcachefs.git
- git clone https://evilpiepirate.org/git/bcachefs-tools.git
-
-Build and install as usual - make sure you enable `CONFIG_BCACHEFS_FS`. Then, to
-format and mount a single device with the default options, run:
-
- bcachefs format /dev/sda1
- mount -t bcachefs /dev/sda1 /mnt
-
-For a multi device filesystem, with sda1 caching sdb1:
-
- bcachefs format /dev/sd[ab]1 \
- --foreground_target /dev/sda1 \
- --promote_target /dev/sda1 \
- --background_target /dev/sdb1
- mount -t bcachefs /dev/sda1:/dev/sdb1 /mnt
-
-This will configure the filesystem so that writes will be buffered to /dev/sda1
-before being written back to /dev/sdb1 in the background, and that hot data
-will be promoted to /dev/sda1 for faster access.
-
-See `bcachefs format --help` for more options.
+We prioritize robustness and reliability over features: we make every effort to
+ensure you won't lose data. It's building on top of a codebase with a pedigree
+- bcache already has a reasonably good track record for reliability Starting
+from there, bcachefs development has prioritized incremental development, and
+keeping things stable, and aggressively fixing design issues as they are found;
+the bcachefs codebase is considerably more robust and mature than upstream
+bcache.
## Documentation
We now have a user manual: [[bcachefs-principles-of-operation.pdf]]
-## Status
-
-Bcachefs can currently be considered beta quality. It has a small pool of
-outside users and has been stable for quite some time now; there's no reason
-to expect issues as long as you stick to the currently supported feature set.
-It's been passing all xfstests for well over a year, and serious bugs are rare
-at this point. However, given that it's still under active development backups
-are a good idea.
-
-### Feature status
-
- - Full data checksumming
-
- Fully supported and enabled by default; checksum errors will cause IOs to be
- retried if there's another replica available.
-
- - Compression
-
- Done - LZ4, gzip and ZSTD are currently supported.
-
- - Multiple device support
-
- Done - you can add and remove devices at runtime while the filesystem is in
- use, migrating data off the device if necessary.
-
- - Tiering/writeback caching:
-
- Bcachefs allows you to specify disks (or groups thereof) to be used for
- three categories of I/O: foreground, background, and promote. Foreground
- devices accept writes, whose data is copied to background devices
- asynchronously, and the hot subset of which is copied to the promote devices
- for performance.
-
- - Replication (i.e. RAID1/10)
-
- Done - you can yank out a disk while a filesystem is in use and it'll keep
- working, transparently handling IO errors. You can then use the rereplicate
- command to write out another copy of all the degraded data to another device.
-
- - Erasure coding
-
- Not quite stable
-
- - [[Encryption]]
+## Contact and support
- Whole filesystem AEAD style encryption (with ChaCha20 and Poly1305) is done
- and merged. I would suggest not relying on it for anything critical until the
- code has seen more outside review, though.
+Developing a filesystem is also not cheap, quick, or easy; we need funding!
+Please chip in on [[Patreon|https://www.patreon.com/bcachefs]]
- - Snapshots
+Join us in the bcache [[IRC|Irc]] channel, we have a small group of bcachefs
+users and testers there: #bcache on OFTC (irc.oftc.net).
- Done, still shaking out a few bugs
+Mailing list: [[https://lore.kernel.org/linux-bcachefs/]], or
+linux-bcachefs@vger.kernel.org.