-
Notifications
You must be signed in to change notification settings - Fork 72
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
build(deps): bump certifi from 2023.7.22 to 2024.7.4 in /drivers/gpu/drm/ci/xfails #706
base: master
Are you sure you want to change the base?
build(deps): bump certifi from 2023.7.22 to 2024.7.4 in /drivers/gpu/drm/ci/xfails #706
Commits on Jun 23, 2024
-
bcachefs: Fix missing spaces in journal_entry_dev_usage_to_text
Fixed missing spaces displayed in journal_entry_dev_usage_to_text while adjusting the display format to improve readability. before: ``` # bcachefs list_journal -a -t alloc:1:0 /dev/sdb ... dev_usage: dev=0free: buckets=233180 sectors=0 fragmented=0sb: buckets=13 sectors=6152 fragmented=504journal: buckets=1847 sectors=945664 fragmented=0btree: buckets=20 sectors=10240 fragmented=0user: buckets=1419 sectors=726513 fragmented=15cached: buckets=0 sectors=0 fragmented=0parity: buckets=0 sectors=0 fragmented=0stripe: buckets=0 sectors=0 fragmented=0need_gc_gens: buckets=0 sectors=0 fragmented=0need_discard: buckets=1 sectors=0 fragmented=0 ``` after: ``` # bcachefs list_journal -a -t alloc:1:0 /dev/sdb ... dev_usage: dev=0 free: buckets=233180 sectors=0 fragmented=0 sb: buckets=13 sectors=6152 fragmented=504 journal: buckets=1847 sectors=945664 fragmented=0 btree: buckets=20 sectors=10240 fragmented=0 user: buckets=1419 sectors=726513 fragmented=15 cached: buckets=0 sectors=0 fragmented=0 parity: buckets=0 sectors=0 fragmented=0 stripe: buckets=0 sectors=0 fragmented=0 need_gc_gens: buckets=0 sectors=0 fragmented=0 need_discard: buckets=1 sectors=0 fragmented=0 ``` Signed-off-by: Youling Tang <tangyouling@kylinos.cn> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Youling Tang authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for d2a1da1 - Browse repository at this point
Copy the full SHA d2a1da1View commit details -
bcachefs: Align the display format of
btrees/inodes/keys
Before patch: ``` #cat btrees/inodes/keys u64s 17 type inode_v3 0:4096:U32_MAX len 0 ver 0: mode=40755 flags= (16300000) bi_size=0 ``` After patch: ``` #cat btrees/inodes/keys u64s 17 type inode_v3 0:4096:U32_MAX len 0 ver 0: mode=40755 flags=(16300000) bi_size=0 ``` Signed-off-by: Youling Tang <tangyouling@kylinos.cn> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Youling Tang authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for c28b614 - Browse repository at this point
Copy the full SHA c28b614View commit details -
bcachefs: Use filemap_read() to simplify the execution flow
Using filemap_read() can reduce unnecessary code execution for non IOCB_DIRECT paths. Signed-off-by: Youling Tang <tangyouling@kylinos.cn> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Youling Tang authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 2131e93 - Browse repository at this point
Copy the full SHA 2131e93View commit details -
fs-common.h needs dirent.h for enum bch_rename_mode Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e5ee3dd - Browse repository at this point
Copy the full SHA e5ee3ddView commit details -
bcachefs: add might_sleep() annotations for fsck_err()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 7a0aa7d - Browse repository at this point
Copy the full SHA 7a0aa7dView commit details -
bcachefs: Use try_cmpxchg() family of functions instead of cmpxchg()
Use try_cmpxchg() family of functions instead of cmpxchg (*ptr, old, new) == old. x86 CMPXCHG instruction returns success in ZF flag, so this change saves a compare after cmpxchg (and related move instruction in front of cmpxchg). Also, try_cmpxchg() implicitly assigns old *ptr value to "old" when cmpxchg fails. There is no need to re-read the value in the loop. No functional change intended. Signed-off-by: Uros Bizjak <ubizjak@gmail.com> Cc: Kent Overstreet <kent.overstreet@linux.dev> Cc: Brian Foster <bfoster@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for c72488d - Browse repository at this point
Copy the full SHA c72488dView commit details -
bcachefs: Check for bsets past bch_btree_ptr_v2.sectors_written
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 4ebf23a - Browse repository at this point
Copy the full SHA 4ebf23aView commit details -
bcachefs: btree_ptr_sectors_written() now takes bkey_s_c
this is for the userspace metadata dump tool Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 15d1ac2 - Browse repository at this point
Copy the full SHA 15d1ac2View commit details -
bcachefs: make offline fsck set read_only fs flag
A subsequent change will remove "read_only" as a mount option in favor of the standard option "ro", meaning the userspace fsck command cannot pass it to the fsck ioctl. Instead, in offline fsck, set "read_only" kernel-side without trying to parse it as a mount option. For compatibility with versions of the "bcachefs fsck" command that try to pass the "read_only" mount opt, remove it from the mount options string prior to parsing when it is present. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for 87c521d - Browse repository at this point
Copy the full SHA 87c521dView commit details -
bcachefs: don't expose "read_only" as a mount option
When "read_only" is exposed as a mount option, it is redundant with the standard option "ro" and gives users multiple ways to specify that a bcachefs filesystem should be mounted read-only. This presents the risk of having inconsistent options specified. This can be seen when remounting a read-only filesystem in read-write mode, using mount(8) from util-linux. Because mount(8) parses the existing mount options from `/proc/mounts` and applies them when remounting, it can end up applying both "read_only" and "rw": $ mount img -o ro /mnt $ strace mount -o remount,rw /mnt ... fsconfig(4, FSCONFIG_SET_FLAG, "read_only", NULL, 0) = 0 fsconfig(4, FSCONFIG_SET_FLAG, "rw", NULL, 0) = 0 ... Making "read_only" no longer a mount option means this edge case cannot occur. Fixes: 62719cf ("bcachefs: Fix nochanges/read_only interaction") Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for 2ae1eed - Browse repository at this point
Copy the full SHA 2ae1eedView commit details -
bcachefs: bch2_printbuf_strip_trailing_newline()
Add a new helper to fix inode_to_text() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 090ade9 - Browse repository at this point
Copy the full SHA 090ade9View commit details -
bcachefs: allow passing full device path for target options
The output of mount options such as "metadata_target" in `/proc/mounts` uses the full path to the device. mount(8) from util-linux uses the output from `/proc/mounts` to pass existing mount options when performing a remount, so bcachefs should accept as input the same form that it prints as output. Without this change: $ mount -t bcachefs -o metadata_target=vdb /dev/vdb /mnt $ strace mount -o remount /mnt ... fsconfig(4, FSCONFIG_SET_STRING, "metadata_target", "/dev/vdb", 0) = -1 EINVAL (Invalid argument) ... Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for cad8924 - Browse repository at this point
Copy the full SHA cad8924View commit details -
bcachefs: check_key_has_inode()
Consolidate duplicated checks for extents/dirents/xattrs - these keys should all have a corresponding inode of the correct type. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 69d433a - Browse repository at this point
Copy the full SHA 69d433aView commit details -
bcachefs: bch_alloc->stripe_sectors
Add a separate counter to bch_alloc_v4 for amount of striped data; this lets us separately track striped and unstriped data in a bucket, which lets us see when erasure coding has failed to update extents with stripe pointers, and also find buckets to continue updating if we crash mid way through creating a new stripe. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 282e932 - Browse repository at this point
Copy the full SHA 282e932View commit details -
Add a new pseudo data type, to track buckets that are members of a stripe, but have unstriped data in them. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f02276e - Browse repository at this point
Copy the full SHA f02276eView commit details -
bcachefs: metadata version bucket_stripe_sectors
New on disk format version for bch_alloc->stripe_sectors and BCH_DATA_unstriped - accounting for unstriped data in stripe buckets. Upgrade/downgrade requires regenerating alloc info - but only if erasure coding is in use. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 6ec2ee3 - Browse repository at this point
Copy the full SHA 6ec2ee3View commit details -
bcachefs: add printbuf arg to bch2_parse_mount_opts()
Mount options that take the name of a device that may be part of a filesystem, for example "metadata_target", cannot be validated until after the filesystem has been opened. However, an attempt to parse those options may be made prior to the filesystem being opened. This change adds a printbuf parameter to bch2_parse_mount_opts() which will be used to save those mount options, when they are supplied prior to the FS being opened, so that they can be parsed later. This functionality is not currently needed, but will be used after bcachefs starts using the new mount API to parse mount options. This is because using the new mount API, we will process mount options prior to opening the FS, but the new API doesn't provide a convenient way to "replay" mount option parsing. So we save these options ourselves to accomplish this. This change also splits out the code to parse a single option into bch2_parse_one_mount_opt(), which will be useful when using the new mount API which deals with a single mount option at a time. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for a25851d - Browse repository at this point
Copy the full SHA a25851dView commit details -
bcachefs: Add error code to defer option parsing
This introduces a new error code, option_needs_open_fs, which is used to indicate that an attempt was made to parse a mount option prior to opening a filesystem, when that mount option requires an open filesystem in order to be validated. Returning this error results in bch2_parse_one_mount_opt() saving that option for later parsing, after the filesystem is opened. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for 30302eb - Browse repository at this point
Copy the full SHA 30302ebView commit details -
This updates bcachefs to use the new mount API: - Update the file_system_type to use the new init_fs_context() function. - Define the new fs_context_operations functions. - No longer register bch2_mount() and bch2_remount(); these are now called via the new fs_context functions. - Define a new helper type, bch2_opts_parse that includes a struct bch_opts and additionally a printbuf used to save options that can't be parsed until after the FS is opened. This enables us to parse as many options as possible prior to opening the filesystem while saving those options that need the open FS for later parsing. Signed-off-by: Thomas Bertschinger <tahbertschinger@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for 756494a - Browse repository at this point
Copy the full SHA 756494aView commit details -
New key type for the disk space accounting rewrite. - Holds a variable sized array of u64s (may be more than one for accounting e.g. compressed and uncompressed size, or buckets and sectors for a given data type) - Updates are deltas, not new versions of the key: this means updates to accounting can happen via the btree write buffer, which we'll be teaching to accumulate deltas. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 3f6e210 - Browse repository at this point
Copy the full SHA 3f6e210View commit details -
bcachefs: Accumulate accounting keys in journal replay
Until accounting keys hit the btree, they are deltas, not new versions of the existing key; this means we have to teach journal replay to accumulate them. Additionally, the journal doesn't track precisely which entries have been flushed to the btree; it only tracks a range of entries that may possibly still need to be flushed. That means we need to compare accounting keys against the version in the btree and only flush updates that are newer. There's another wrinkle with the write buffer: if the write buffer starts flushing accounting keys before journal replay has finished flushing accounting keys, journal replay will see the version number from the new updates and updates from the journal will be lost. To avoid this, journal replay has to flush accounting keys first, and we'll be adding a flag so that write buffer flush knows to hold accounting keys until then. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 8b37579 - Browse repository at this point
Copy the full SHA 8b37579View commit details -
bcachefs: btree write buffer knows how to accumulate bch_accounting keys
Teach the btree write buffer how to accumulate accounting keys - instead of having the newer key overwrite the older key as we do with other updates, we need to add them together. Also, add a flag so that write buffer flush knows when journal replay is finished flushing accounting, and teach it to hold accounting keys until that flag is set. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for a56f8cf - Browse repository at this point
Copy the full SHA a56f8cfView commit details -
bcachefs: Disk space accounting rewrite
Main part of the disk accounting rewrite. This is a wholesale rewrite of the existing disk space accounting, which relies on percepu counters that are sharded by journal buffer, and rolled up and added to each journal write. With the new scheme, every set of counters is a distinct key in the accounting btree; this fixes scaling limitations of the old scheme, where counters took up space in each journal entry and required multiple percpu counters. Now, in memory accounting requires a single set of percpu counters - not multiple for each in flight journal buffer - and in the future we'll probably also have counters that don't use in memory percpu counters, they're not strictly required. An accounting update is now a normal btree update, using the btree write buffer path. At transaction commit time, we apply accounting updates to the in memory counters, which are percpu counters indexed in an eytzinger tree by the accounting key. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 35afc30 - Browse repository at this point
Copy the full SHA 35afc30View commit details -
bcachefs: Coalesce accounting keys before journal replay
This fixes a performance regression in journal replay; without colaescing accounting keys we have multiple keys at the same position, which means journal_keys_peek_upto() has to skip past many overwritten keys - turning journal replay into an O(n^2) algorithm. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 1c42770 - Browse repository at this point
Copy the full SHA 1c42770View commit details -
bcachefs: dev_usage updated by new accounting
Reading disk accounting now requires an eytzinger lookup (see: bch2_accounting_mem_read()), but the per-device counters are used frequently enough that we'd like to still be able to read them with just a percpu sum, as in the old code. This patch special cases the device counters; when we update in-memory accounting we also update the old style percpu counters if it's a deice counter update. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9062045 - Browse repository at this point
Copy the full SHA 9062045View commit details -
bcachefs: Kill bch2_fs_usage_initialize()
Deleting code for the old disk accounting scheme. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 5891ad3 - Browse repository at this point
Copy the full SHA 5891ad3View commit details -
bcachefs: Convert bch2_ioctl_fs_usage() to new accounting
This converts bch2_ioctl_fs_usage() to read from the new disk accounting, via bch2_fs_replicas_usage_read(). Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for b9525f4 - Browse repository at this point
Copy the full SHA b9525f4View commit details -
bcachefs: kill bch2_fs_usage_read()
With bch2_ioctl_fs_usage(), this is now dead code. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e4d21c9 - Browse repository at this point
Copy the full SHA e4d21c9View commit details -
bcachefs: Kill writing old accounting to journal
More ripping out of the old disk space accounting. Note that the new disk space accounting is incompatible with the old, and writing out old style disk space accounting with the new code is infeasible. This means upgrading and downgrading past this version requires regenerating accounting. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 0f19bc7 - Browse repository at this point
Copy the full SHA 0f19bc7View commit details -
bcachefs: Delete journal-buf-sharded old style accounting
More deletion of dead code. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for dd33d3c - Browse repository at this point
Copy the full SHA dd33d3cView commit details -
bcachefs: Kill bch2_fs_usage_to_text()
Dead code. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 68e3486 - Browse repository at this point
Copy the full SHA 68e3486View commit details -
bcachefs: Kill fs_usage_online
More dead code deletion. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f0ff2b7 - Browse repository at this point
Copy the full SHA f0ff2b7View commit details -
bcachefs: Kill replicas_journal_res
More dead code deletion Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for aab369a - Browse repository at this point
Copy the full SHA aab369aView commit details -
bcachefs: Convert gc to new accounting
Rewrite fsck/gc for the new accounting scheme. This adds a second set of in-memory accounting counters for gc to use; like with other parts of gc we run all trigger in TRIGGER_GC mode, then compare what we calculated to existing in-memory accounting at the end. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 974eae5 - Browse repository at this point
Copy the full SHA 974eae5View commit details -
bcachefs: Convert bch2_replicas_gc2() to new accounting
bch2_replicas_gc2() is used for garbage collection superblock replicas entries that are empty - this converts it to the new accounting scheme. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 1aa4f7d - Browse repository at this point
Copy the full SHA 1aa4f7dView commit details -
bcachefs: bch2_verify_accounting_clean()
Verify that the in-memory accounting verifies the on-disk accounting after a clean shutdown. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 2b8cdc1 - Browse repository at this point
Copy the full SHA 2b8cdc1View commit details -
bcachefs: bch_acct_compression
This adds per-compression-type accounting of compressed and uncompressed size as well as number of extents - meaning we can now see compression ratio (without walking the whole filesystem). Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 7cdd5ad - Browse repository at this point
Copy the full SHA 7cdd5adView commit details -
bcachefs: Convert bch2_compression_stats_to_text() to new accounting
We no longer have to walk the whole btree to calculate compression stats. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 72bbac1 - Browse repository at this point
Copy the full SHA 72bbac1View commit details -
bcachefs: bch2_fs_accounting_to_text()
Helper to show raw accounting in sysfs, mainly for debugging. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9cb6b03 - Browse repository at this point
Copy the full SHA 9cb6b03View commit details -
bcachefs: bch2_fs_usage_base_to_text()
Helper to show raw accounting in sysfs, mainly for debugging. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for fee751f - Browse repository at this point
Copy the full SHA fee751fView commit details -
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 3f828b2 - Browse repository at this point
Copy the full SHA 3f828b2View commit details -
Add counters for how much disk space we're using per btree. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 7a35214 - Browse repository at this point
Copy the full SHA 7a35214View commit details -
bcachefs: bch_acct_rebalance_work
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9791390 - Browse repository at this point
Copy the full SHA 9791390View commit details -
bcachefs: Eytzinger accumulation for accounting keys
The btree write buffer takes as input keys from the journal, sorts them, deduplicates them, and flushes them back to the btree in sorted order. The disk space accounting rewrite is moving accounting to normal btree keys, with update (in this case deltas) accumulated in the write buffer and then flushed to the btree; but this is going to increase the number of keys handled by the write buffer by perhaps as much as a factor of 3x-5x. The overhead from copying around and sorting this many keys would cause a significant performance regression, but: there is huge locality in updates to accounting keys that we can take advantage of. Instead of appending accounting keys to the list of keys to be sorted, this patch adds an eytzinger search tree of recently seen accounting keys. We look up the accounting key in the eytzinger search tree and apply the delta directly, adding it if it doesn't exist, and periodically prune the eytzinger tree of unused entries. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 8091277 - Browse repository at this point
Copy the full SHA 8091277View commit details -
Fold into bch2_fs_get_tree() Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 43c6a0c - Browse repository at this point
Copy the full SHA 43c6a0cView commit details -
bcachefs: bch2_fs_get_tree() cleanup
- improve error paths - call bch2_fs_start() separately, after applying late-parsed options Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 1205c8d - Browse repository at this point
Copy the full SHA 1205c8dView commit details -
bcachefs: Don't block journal when finishing check_allocations()
Blocking the journal was needed to finish checking old style accounting, but that code is gone and it's not needed in the alloc rewrite, mark_lock is sufficient for synchronization. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 78edd4e - Browse repository at this point
Copy the full SHA 78edd4eView commit details -
bcachefs: Walk leaf to root in btree_gc
Next change will move gc_alloc_start initialization into the alloc trigger, so we have to mark those first. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 5f55c9b - Browse repository at this point
Copy the full SHA 5f55c9bView commit details -
bcachefs: Initialize gc buckets in alloc trigger
Needed for online fsck; we need the trigger to initialize newly allocated buckets and generation number changes while gc is running. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for cd89843 - Browse repository at this point
Copy the full SHA cd89843View commit details -
bcachefs: Delete old assertion for online fsck
the order in which btree_gc walks keys have changed, so we no longer have the sort of issues with online fsck this assertion was warning about. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9a2e3b3 - Browse repository at this point
Copy the full SHA 9a2e3b3View commit details -
bcachefs: btree_types bitmask cleanups
Make things more consistent and ensure that we're using u64 bitfields - key types and btree ids are already around 32 bits. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 6e1499f - Browse repository at this point
Copy the full SHA 6e1499fView commit details -
bcachefs: fsck_err() may now take a btree_trans
fsck_err() now optionally takes a btree_trans; if the current thread has one, it is required that it be passed. The next patch will use this to unlock when waiting for user input. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f75ad70 - Browse repository at this point
Copy the full SHA f75ad70View commit details -
bcachefs: Plumb more logging through stdio redirect
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f9df073 - Browse repository at this point
Copy the full SHA f9df073View commit details -
bcachefs: twf: convert bch2_stdio_redirect_readline() to darray
We now read the line from the buffer atomically, which means we have to allow the buffer to grow past STDIO_REDIRECT_BUFSIZE if we're waiting for a full line - this behaviour is necessary for stdio_redirect_readline_timeout() in the next patch. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9b687b3 - Browse repository at this point
Copy the full SHA 9b687b3View commit details -
bcachefs: bch2_stdio_redirect_readline_timeout()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 1bc1ed6 - Browse repository at this point
Copy the full SHA 1bc1ed6View commit details -
bcachefs: twf: delete dead struct fields
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 350132d - Browse repository at this point
Copy the full SHA 350132dView commit details -
bcachefs: bch2_dir_emit() - fix directory reads in the fuse driver
Commit 0c0cbfd dropped the ctx->pos update before the call to dir_emit. This breaks the userspace implementation, causing the directory reads to be stuck in an infinite loop. This doesn't happen in the kernel because the vfs handles the updates to ctx->pos, but in the fuse implementation nobody updates it. Signed-off-by: Ariel Miculas <ariel.miculas@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for a1d1983 - Browse repository at this point
Copy the full SHA a1d1983View commit details -
bcachefs: track writeback errors using the generic tracking infrastru…
…cture We already using mapping_set_error() in bch2_writepage_io_done(), so all we need to do is to use file_check_and_advance_wb_err() when handling fsync() requests in bch2_fsync(). Signed-off-by: Youling Tang <tangyouling@kylinos.cn> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Youling Tang authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 3ab5d8c - Browse repository at this point
Copy the full SHA 3ab5d8cView commit details -
bcachefs: Add tracepoints for bch2_sync_fs() and bch2_fsync()
Add trace_bch2_sync_fs() and trace_bch2_fsync() implementations. The output in trace is as follows: sync-29779 [000] ..... 193.700935: bch2_sync_fs: dev 254,16 wait 1 <...>-40027 [002] ..... 342.535227: bch2_fsync: dev 254,32 ino 4099 parent 4096 datasync 1 Signed-off-by: Youling Tang <tangyouling@kylinos.cn> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Youling Tang authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e179998 - Browse repository at this point
Copy the full SHA e179998View commit details -
bcachefs: Clear trans->last_unlock_ip when setting trans->locked
We're seeing a funny looking trans->locked assertion pop; we should be after a bch2_trans_begin() call. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f810ac9 - Browse repository at this point
Copy the full SHA f810ac9View commit details -
bcachefs: Unlock trans when waiting for user input in fsck
We can't hold locks while waiting for user input, that's a deadlock. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 944e7cf - Browse repository at this point
Copy the full SHA 944e7cfView commit details -
bcachefs: implement FS_IOC_GETVERSION to support lsattr
In this patch we add the FS_IOC_GETVERSION ioctl for getting i_generation from inode, after that, users can list file's generation number by using "lsattr". Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Hongbo Li authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 73f9d2f - Browse repository at this point
Copy the full SHA 73f9d2fView commit details -
bcachefs: support get fs label
Implement support for FS_IOC_GETFSLABEL ioctl to read filesystem label. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Hongbo Li authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for b0f9af9 - Browse repository at this point
Copy the full SHA b0f9af9View commit details -
bcachefs: support FS_IOC_SETFSLABEL
Implement support for FS_IOC_SETFSLABEL ioctl to set filesystem label. Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Hongbo Li authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e796a5d - Browse repository at this point
Copy the full SHA e796a5dView commit details -
bcachefs: support REMAP_FILE_DEDUP in bch2_remap_file_range
By removing the early-exit when REMAP_FILE_DEDUP is set, we should be able to support the fideduperange ioctl, albeit less efficiently than if we handled some of the extent locking and comparison logic inside bcachefs. Extent comparison logic already exists inside of `__generic_remap_file_range_prep`. Signed-off-by: Reed Riley <reed@riley.engineer> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for ba185f8 - Browse repository at this point
Copy the full SHA ba185f8View commit details -
bcachefs: BCH_IOCTL_QUERY_ACCOUNTING
Add a new ioctl that can return the new accounting counter types; it takes as input a bitmask of accounting types to return. This will be used for returning e.g. compression accounting and rebalance_work accounting. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for cf67e99 - Browse repository at this point
Copy the full SHA cf67e99View commit details -
bcachefs: bch2_btree_insert() - add btree iter flags
The commit 65bd442 ("bcachefs: bch2_btree_insert_trans() no longer specifies BTREE_ITER_cached") removes BTREE_ITER_cached from bch2_btree_insert_trans, which causes the update_inode function from bcachefs-tools to take a long time (~20s). Add an iter_flags parameter to bch2_btree_insert, so the users can specify iter update trigger flags, such as BTREE_ITER_cached. Signed-off-by: Ariel Miculas <ariel.miculas@gmail.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for fc19f9a - Browse repository at this point
Copy the full SHA fc19f9aView commit details -
bcachefs: Fix race in bch2_accounting_mem_insert()
bch2_accounting_mem_insert() drops and retakes mark_lock; thus, we need to check if the entry in question has already been inserted. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9b0104b - Browse repository at this point
Copy the full SHA 9b0104bView commit details -
bcachefs: fix smatch data leak warning in fs usage ioctl
smatch warns that the copy of arg to userspace is a potential data leak by virtue of arg.pad not being checked or zeroed. This was introduced by the commit referenced below that switched arg from being a zeroed runtime allocation to living on the stack. Fix by simply zero initializing the structure. Fixes: cde738a ("bcachefs: Convert bch2_ioctl_fs_usage() to new accounting") Reported-by: Dan Carpenter <dan.carpenter@linaro.org> Signed-off-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Brian Foster authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 0d8872a - Browse repository at this point
Copy the full SHA 0d8872aView commit details -
bcachefs: Refactor disk accounting data structures
Break up the percpu counter allocations into individual allocations for each disk accounting counter; this fixes an issue on large systems where we have too many replica entries to for the percpu allocator's max practical size. Also, use just one eytzinger tree for the normal set of counters and the gc counters; this simplifies accounting_gc_done() where we need the same set of counters to be present in both tables. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 3ec9d95 - Browse repository at this point
Copy the full SHA 3ec9d95View commit details -
bcachefs: bch2_accounting_mem_gc()
Add a new helper to free zeroed out accounting entries, and use it in bch2_replicas_gc2(); bch2_replicas_gc2() was killing superblock replicas entries if their corresponding accounting counters were nonzero, but that's incorrect - the superblock replicas entry needs to exist if the accounting entry exists, not if it's nonzero, because we check and create the replicas entry when creating the new accounting entry - we don't know when it's becoming nonzero. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 628059e - Browse repository at this point
Copy the full SHA 628059eView commit details -
bcachefs: Fix bch2_gc_accounting_done() locking
The transaction commit path takes mark_lock, so we shouldn't be holding it; use a bpos as an iterator so that we can drop and retake. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f5be443 - Browse repository at this point
Copy the full SHA f5be443View commit details -
bcachefs: Kill gc_pos_btree_node()
gc_pos is now based on keys, not nodes, for invariantness w.r.t. splits and merges Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 8c59906 - Browse repository at this point
Copy the full SHA 8c59906View commit details -
bcachefs: bch2_btree_id_to_text()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 6abbcfc - Browse repository at this point
Copy the full SHA 6abbcfcView commit details -
bcachefs: bch2_gc_pos_to_text()
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f6ba909 - Browse repository at this point
Copy the full SHA f6ba909View commit details -
bcachefs: btree_node_unlock() assert
we have a separate helper for releasing write locks Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 75904d7 - Browse repository at this point
Copy the full SHA 75904d7View commit details -
bcachefs: btree_path_cached_set()
new helper - small refactoring Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for c79209e - Browse repository at this point
Copy the full SHA c79209eView commit details -
bcachefs: kill key cache arg to bch2_assert_pos_locked()
this is an internal implementation detail - and we're improving key cache coherency Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 8942cc1 - Browse repository at this point
Copy the full SHA 8942cc1View commit details -
MAINTAINERS: remove Brian Foster as a reviewer for bcachefs
Signed-off-by: Brian Foster <bfoster@redhat.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Brian Foster authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 9594def - Browse repository at this point
Copy the full SHA 9594defView commit details -
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 3683245 - Browse repository at this point
Copy the full SHA 3683245View commit details -
bcachefs: Reduce the scope of gc_lock
gc_lock is now only for synchronization between check_alloc_info and interior btree updates - nothing else Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 21ed629 - Browse repository at this point
Copy the full SHA 21ed629View commit details -
bcachefs: use FGP_WRITEBEGIN instead of combining individual flags
Use FGP_WRITEBEGIN to avoid repeating the individual FGP flags before starting a buffered write. Signed-off-by: Pankaj Raghav <p.raghav@samsung.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for f8f9232 - Browse repository at this point
Copy the full SHA f8f9232View commit details -
bcachefs: set fgf order hint before starting a buffered write
Set the preferred folio order in the fgp_flags by calling fgf_set_order(). Page cache will try to allocate large folio of the preferred order whenever possible instead of allocating multiple 0 order folios. This improves the buffered write performance up to 1.25x with default mount options and up to 1.57x when mounted with no_data_io option with the following fio workload: fio --name=bcachefs --filename=/mnt/test --size=100G \ --ioengine=io_uring --iodepth=16 --rw=write --bs=128k Signed-off-by: Pankaj Raghav <p.raghav@samsung.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Configuration menu - View commit details
-
Copy full SHA for b4061d3 - Browse repository at this point
Copy the full SHA b4061d3View commit details -
bcachefs: bch2_btree_key_cache_drop() now evicts
As part of improving btree key cache coherency, the bkey_cached.valid flag is going away. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 001f34c - Browse repository at this point
Copy the full SHA 001f34cView commit details -
bcachefs: split out lru_format.h
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 4e8dec0 - Browse repository at this point
Copy the full SHA 4e8dec0View commit details -
bcachefs: support STATX_DIOALIGN for statx file
Add support for STATX_DIOALIGN to bcachefs, so that direct I/O alignment restrictions are exposed to userspace in a generic way. [Before] ``` ./statx_test /mnt/bcachefs/test statx(/mnt/bcachefs/test) = 0 dio mem align:0 dio offset align:0 ``` [After] ``` ./statx_test /mnt/bcachefs/test statx(/mnt/bcachefs/test) = 0 dio mem align:1 dio offset align:512 ``` Signed-off-by: Hongbo Li <lihongbo22@huawei.com> Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Hongbo Li authored and Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for f01cc71 - Browse repository at this point
Copy the full SHA f01cc71View commit details -
bcachefs: Discard, invalidate workers are now per device
There's no reason for discards to be single threaded across all devices; this will also help with fixing a race between the discard path and device removal. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 2059216 - Browse repository at this point
Copy the full SHA 2059216View commit details -
bcachefs: Ensure buffered writes write as much as they can
This adds a new helper, bch2_folio_reservation_get_partial(), which reserves as many blocks as possible and may return partial success. __bch2_buffered_write() is switched to the new helper - this fixes fstests generic/275, the write until -ENOSPC test. generic/230 now fails: this appears to be a test bug, where xfs_io isn't looping after a partial write to get the error code. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 5500322 - Browse repository at this point
Copy the full SHA 5500322View commit details -
bcachefs: Fix missing BTREE_TRIGGER_bucket_invalidate flag
This fixes an accounting mismatch for cached data. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for 51f4149 - Browse repository at this point
Copy the full SHA 51f4149View commit details -
bcachefs: Improve "unable to allocate journal write" message
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 23, 2024 Configuration menu - View commit details
-
Copy full SHA for e5c368e - Browse repository at this point
Copy the full SHA e5c368eView commit details
Commits on Jun 24, 2024
-
bcachefs: Simplify btree key cache fill path
Don't allocate the new bkey_cached until after we've done the btree lookup; this means we can kill bkey_cached.valid. Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
Kent Overstreet committedJun 24, 2024 Configuration menu - View commit details
-
Copy full SHA for d6d793a - Browse repository at this point
Copy the full SHA d6d793aView commit details
Commits on Jul 6, 2024
-
build(deps): bump certifi in /drivers/gpu/drm/ci/xfails
Bumps [certifi](https://github.com/certifi/python-certifi) from 2023.7.22 to 2024.7.4. - [Commits](certifi/python-certifi@2023.07.22...2024.07.04) --- updated-dependencies: - dependency-name: certifi dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Configuration menu - View commit details
-
Copy full SHA for 9a83b15 - Browse repository at this point
Copy the full SHA 9a83b15View commit details