Merge tag 'xfs-6.3-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Mar 2023 19:57:34 +0000 (12:57 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 25 Mar 2023 19:57:34 +0000 (12:57 -0700)
commitf768b35a2371ccf85255f608444d234062a1b5c9
treea22500f2422baceb3aa07ec46ee72f221c7f49a1
parentd704426300f2e95275267a387ffc3b8e5f4ae8b7
parente9b60c7f97130795c7aa81a649ae4b93a172a277
Merge tag 'xfs-6.3-fixes-4' of git://git./fs/xfs/xfs-linux

Pull xfs percpu counter fixes from Darrick Wong:
 "We discovered a filesystem summary counter corruption problem that was
  traced to cpu hot-remove racing with the call to percpu_counter_sum
  that sets the free block count in the superblock when writing it to
  disk. The root cause is that percpu_counter_sum doesn't cull from
  dying cpus and hence misses those counter values if the cpu shutdown
  hooks have not yet run to merge the values.

  I'm hoping this is a fairly painless fix to the problem, since the
  dying cpu mask should generally be empty. It's been in for-next for a
  week without any complaints from the bots.

   - Fix a race in the percpu counters summation code where the
     summation failed to add in the values for any CPUs that were dying
     but not yet dead. This fixes some minor discrepancies and incorrect
     assertions when running generic/650"

* tag 'xfs-6.3-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
  pcpcntr: remove percpu_counter_sum_all()
  fork: remove use of percpu_counter_sum_all
  pcpcntrs: fix dying cpu summation race
  cpumask: introduce for_each_cpu_or
include/linux/cpumask.h
kernel/fork.c