• Linus Torvalds's avatar
    Merge tag 'gfs2-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2 · 018d21f5
    Linus Torvalds authored
    Pull gfs2 updates from Bob Peterson:
     "We've got a lot of patches (39) for this merge window. Most of these
      patches are related to corruption that occurs when journals are
      replayed. For example:
    
       1. A node fails while writing to the file system.
       2. Other nodes use the metadata that was once used by the failed
          node.
       3. When the node returns to the cluster, its journal is replayed, but
          the older metadata blocks overwrite the changes from step 2.
    
      Summary:
    
       - Fixed the recovery sequence to prevent corruption during journal
         replay.
    
       - Many bug fixes found during recovery testing.
    
       - New improved file system withdraw sequence.
    
       - Fixed how resource group buffers are managed.
    
       - Fixed how metadata revokes are tracked and written.
    
       - Improve processing of IO errors hit by daemons like logd and
         quotad.
    
       - Improved error checking in metadata writes.
    
       - Fixed how qadata quota data structures are managed"
    
    * tag 'gfs2-for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2: (39 commits)
      gfs2: Fix oversight in gfs2_ail1_flush
      gfs2: change from write to read lock for sd_log_flush_lock in journal replay
      gfs2: instrumentation wrt ail1 stuck
      gfs2: don't lock sd_log_flush_lock in try_rgrp_unlink
      gfs2: Remove unnecessary gfs2_qa_{get,put} pairs
      gfs2: Split gfs2_rsqa_delete into gfs2_rs_delete and gfs2_qa_put
      gfs2: Change inode qa_data to allow multiple users
      gfs2: eliminate gfs2_rsqa_alloc in favor of gfs2_qa_alloc
      gfs2: Switch to list_{first,last}_entry
      gfs2: Clean up inode initialization and teardown
      gfs2: Additional information when gfs2_ail1_flush withdraws
      gfs2: leaf_dealloc needs to allocate one more revoke
      gfs2: allow journal replay to hold sd_log_flush_lock
      gfs2: don't allow releasepage to free bd still used for revokes
      gfs2: flesh out delayed withdraw for gfs2_log_flush
      gfs2: Do proper error checking for go_sync family of glops functions
      gfs2: Don't demote a glock until its revokes are written
      gfs2: drain the ail2 list after io errors
      gfs2: Withdraw in gfs2_ail1_flush if write_cache_pages fails
      gfs2: Do log_flush in gfs2_ail_empty_gl even if ail list is empty
      ...
    018d21f5
inode.c 49.2 KB