gfs2 fixes

- Revert a change to delete_work_func() that has gone wrong in commit
  c412a97cf6c5 ("gfs2: Use TRY lock in gfs2_inode_lookup for UNLINKED
  inodes").

- Avoid dequeuing GL_ASYNC glock holders twice by first checking if the
  holder is still queued.

- gfs2: Always check the inode size of inline inodes when reading in
  inodes to prevent corrupt filesystem images from causing weid errors.

- Properly handle a race between gfs2_create_inode() and
  gfs2_inode_lookup() that causes insert_inode_locked4() to return
  -EBUSY.

- Fix and clean up the interaction between gfs2_create_inode() and
  gfs2_evict_inode() by completely handling the inode deallocation and
 destruction in gfs2_evict_inode().

- Remove support for glock holder auto-demotion as we have no current
  plans of using this feature again.

- And a few more minor cleanups and clarifications.
gfs2: Remove support for glock holder auto-demotion (2)

As a follow-up to the previous commit, move the recovery related code in
__gfs2_glock_dq() to gfs2_glock_dq() where it better fits.  No
functional change.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
1 file changed