• Linus Torvalds's avatar
    Merge tag 'xfs-6.3-fixes-4' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · f768b35a
    Linus Torvalds authored
    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
    f768b35a
fork.c 80 KB