#
9abb6dd7 |
| 12-Apr-2024 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Standardize helpers for printing enum strs with bounds checks
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
4819b66e |
| 05-Jan-2024 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: improve checksum error messages
new helpers: - bch2_csum_to_text() - bch2_csum_err_msg()
standardize our checksum error messages a bit, and print out the checksums a bit more nicely.
S
bcachefs: improve checksum error messages
new helpers: - bch2_csum_to_text() - bch2_csum_err_msg()
standardize our checksum error messages a bit, and print out the checksums a bit more nicely.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
793a06d9 |
| 23-Sep-2023 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Fixes for building in userspace
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
96dea3d5 |
| 12-Sep-2023 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Fix W=12 build errors
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
0ec39856 |
| 05-Aug-2023 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Move bch_sb_field_crypt code to checksum.c
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
986e9842 |
| 13-Jul-2023 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Compression levels
This allows including a compression level when specifying a compression type, e.g. compression=zstd:15
Values from 1 through 15 indicate compression levels, 0 or unsp
bcachefs: Compression levels
This allows including a compression level when specifying a compression type, e.g. compression=zstd:15
Values from 1 through 15 indicate compression levels, 0 or unspecified indicates the default.
For LZ4, values 3-15 specify that the HC algorithm should be used.
Note that for compatibility, extents themselves only include the compression type, not the compression level. This means that specifying the same compression algorithm but different compression levels for the compression and background_compression options will have no effect.
XXX: perhaps we could add a warning for this
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
a8b3a677 |
| 02-Nov-2022 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Nocow support
This adds support for nocow mode, where we do writes in-place when possible. Patch components:
- New boolean filesystem and inode option, nocow: note that when nocow is
bcachefs: Nocow support
This adds support for nocow mode, where we do writes in-place when possible. Patch components:
- New boolean filesystem and inode option, nocow: note that when nocow is enabled, data checksumming and compression are implicitly disabled
- To prevent in-place writes from racing with data moves (data_update.c) or bucket reuse (i.e. a bucket being reused and re-allocated while a nocow write is in flight, we have a new locking mechanism.
Buckets can be locked for either data update or data move, using a fixed size hash table of two_state_shared locks. We don't have any chaining, meaning updates and moves to different buckets that hash to the same lock will wait unnecessarily - we'll want to watch for this becoming an issue.
- The allocator path also needs to check for in-place writes in flight to a given bucket before giving it out: thus we add another counter to bucket_alloc_state so we can track this.
- Fsync now may need to issue cache flushes to block devices instead of flushing the journal. We add a device bitmask to bch_inode_info, ei_devs_need_flush, which tracks devices that need to have flushes issued - note that this will lead to unnecessary flushes when other codepaths have already issued flushes, we may want to replace this with a sequence number.
- New nocow write path: look up extents, and if they're writable write to them - otherwise fall back to the normal COW write path.
XXX: switch to sequence numbers instead of bitmask for devs needing journal flush
XXX: ei_quota_lock being a mutex means bch2_nocow_write_done() needs to run in process context - see if we can improve this
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
0cc455b3 |
| 01-Nov-2022 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: Inlining improvements
- Don't call into bch2_encrypt_bio() when we're not encrypting - Pull slowpath out of trans_lock_write() - Make sure bc2h_trans_journal_res_get() gets inlined.
Si
bcachefs: Inlining improvements
- Don't call into bch2_encrypt_bio() when we're not encrypting - Pull slowpath out of trans_lock_write() - Make sure bc2h_trans_journal_res_get() gets inlined.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
a1019576 |
| 22-Oct-2022 |
Kent Overstreet <kent.overstreet@linux.dev> |
bcachefs: More style fixes
Fixes for various checkpatch errors.
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
a9de137b |
| 19-Feb-2022 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Check for errors from crypto_skcipher_encrypt()
Apparently it actually is possible for crypto_skcipher_encrypt() to return an error - not sure why that would be - but we need to replace ou
bcachefs: Check for errors from crypto_skcipher_encrypt()
Apparently it actually is possible for crypto_skcipher_encrypt() to return an error - not sure why that would be - but we need to replace our assertion with actual error handling.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
show more ...
|
#
6404dcc9 |
| 11-Nov-2021 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: More enum strings
This patch converts more enums in the on disk format to our standard x-macro-with-strings deal - to enable better pretty-printing.
Signed-off-by: Kent Overstreet <kent.o
bcachefs: More enum strings
This patch converts more enums in the on disk format to our standard x-macro-with-strings deal - to enable better pretty-printing.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com>
show more ...
|
#
41e63382 |
| 17-Jun-2021 |
jpsollie <janpieter.sollie@edpnet.be> |
bcachefs: add bcachefs xxhash support
xxhash is a much faster algorithm compared to crc32. could be used to speed up checksum calculation. xxhash 64-bit only, as it is much faster on 64-bit CPUs com
bcachefs: add bcachefs xxhash support
xxhash is a much faster algorithm compared to crc32. could be used to speed up checksum calculation. xxhash 64-bit only, as it is much faster on 64-bit CPUs compared to xxh32.
Signed-off-by: jpsollie <janpieter.sollie@edpnet.be> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
2436cb9f |
| 21-Feb-2021 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Use x-macros for more enums
This patch standardizes all the enums that have associated string tables (probably more enums should have string tables).
Signed-off-by: Kent Overstreet <kent.
bcachefs: Use x-macros for more enums
This patch standardizes all the enums that have associated string tables (probably more enums should have string tables).
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
ab05de4c |
| 23-Feb-2018 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Track incompressible data
This fixes the background_compression option: wihout some way of marking data as incompressible, rebalance will keep rewriting incompressible data over and over.
bcachefs: Track incompressible data
This fixes the background_compression option: wihout some way of marking data as incompressible, rebalance will keep rewriting incompressible data over and over.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
1c3ff72c |
| 29-Dec-2019 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Convert some enums to x-macros
Helps for preventing things from getting out of sync.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overst
bcachefs: Convert some enums to x-macros
Helps for preventing things from getting out of sync.
Signed-off-by: Kent Overstreet <kent.overstreet@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|
#
738540f7 |
| 03-Jul-2019 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: kill bch2_crc64_update
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
6009b4e5 |
| 13-May-2019 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Merge extents with checksums
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
04c2c34f |
| 11-Jan-2019 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: use crc64 from lib/
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
|
#
1c6fdbd8 |
| 17-Mar-2017 |
Kent Overstreet <kent.overstreet@gmail.com> |
bcachefs: Initial commit
Initially forked from drivers/md/bcache, bcachefs is a new copy-on-write filesystem with every feature you could possibly want.
Website: https://bcachefs.org
Signed-off-by
bcachefs: Initial commit
Initially forked from drivers/md/bcache, bcachefs is a new copy-on-write filesystem with every feature you could possibly want.
Website: https://bcachefs.org
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
show more ...
|