1. 06 Apr, 2024 3 commits
    • Kent Overstreet's avatar
      bcachefs: JOURNAL_SPACE_LOW · 6088234c
      Kent Overstreet authored
      "bcachefs; Fix deadlock in bch2_btree_update_start()" was a significant
      performance regression (nearly 50%) on multithreaded random writes with
      fio.
      
      The reason is that the journal watermark checks multiple things,
      including the state of the btree write buffer, and on multithreaded
      update heavy workloads we're bottleneked on write buffer flushing - we
      don't want kicknig off btree updates to depend on the state of the write
      buffer.
      
      This isn't strictly correct; the interior btree update path does do
      write buffer updates, but it's a tiny fraction of total accounting
      updates and we're more concerned with space in the journal itself.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      6088234c
    • Kent Overstreet's avatar
      bcachefs: Disable errors=panic for BCH_IOCTL_FSCK_OFFLINE · 05801b65
      Kent Overstreet authored
      BCH_IOCTL_FSCK_OFFLINE allows the userspace fsck tool to use the kernel
      implementation of fsck - primarily when the kernel version is a better
      version match.
      
      It should look and act exactly like the normal userspace fsck that the
      user expected to be invoking, so errors should never result in a kernel
      panic.
      
      We may want to consider further restricting errors=panic - it's only
      intended for debugging in controlled test environments, it should have
      no purpose it normal usage.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      05801b65
    • Kent Overstreet's avatar
      bcachefs: Fix BCH_IOCTL_FSCK_OFFLINE for encrypted filesystems · 374b3d38
      Kent Overstreet authored
      To open an encrypted filesystem, we use request_key() to get the
      encryption key from the user's keyring - but request_key() needs to
      happen in the context of the process that invoked the ioctl.
      
      This easily fixed by using bch2_fs_open() in nostart mode.
      Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
      374b3d38
  2. 05 Apr, 2024 3 commits
  3. 04 Apr, 2024 6 commits
  4. 03 Apr, 2024 14 commits
  5. 02 Apr, 2024 5 commits
  6. 01 Apr, 2024 9 commits