All of lore.kernel.org
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH 00/29] GFS2: Pre-pull patch posting (merge window)
@ 2017-09-04  2:50 Bob Peterson
  2017-09-04  2:50 ` [Cluster-devel] [PATCH 01/29] GFS2: Prevent double brelse in gfs2_meta_indirect_buffer Bob Peterson
                   ` (28 more replies)
  0 siblings, 29 replies; 30+ messages in thread
From: Bob Peterson @ 2017-09-04  2:50 UTC (permalink / raw)
  To: cluster-devel.redhat.com

Hi,

We've got a whopping 29 GFS2 patches for this merge window, mainly
because we held some back from the previous merge window until we
could get them perfected and well tested. We have a couple patch
sets, including my patch set for protecting glock gl_object and
Andreas Gruenbacher's patch set to fix the long-standing shrink-
slab hang, plus a bunch of assorted bugs and cleanups:

1. I fixed a bug whereby an IO error would lead to a double-brelse.
2. Andreas Gruenbacher made a minor cleanup to call his relatively
   new function, gfs2_holder_initialized, rather than doing it
   manually. This was just missed by a previous patch set.
3. Jan Kara fixed a bug whereby the SGID was being cleared when
   inheriting ACLs.
4. Andreas found a bug and fixed it in his previous patch,
   "Get rid of flush_delayed_work in gfs2_evict_inode". A call to
   flush_delayed_work was deleted from *gfs2_inode_lookup and added
   to gfs2_create_inode.
5. Wang Xibo found and fixed a list_add call in inode_go_lock
   that specified the parameters in the wrong order.
6. Coly Li submitted a patch to add the REQ_PRIO to some of GFS2's
   metadata reads that were accidentally missing them.
7 - 10. I submitted a 4-patch set to protect the glock gl_object
   field. GFS2 was setting and checking gl_object with no locking
   mechanism, so the value was occasionally stomped on, which caused
   file system corruption.
11. I submitted a small cleanup to function gfs2_clear_rgrpd.
   It was needlessly adding rgrp glocks to the lru list, then pulling
   them back off immediately. The rgrp glocks don't use the lru list
   anyway, so doing so was just a waste of time.
12. I submitted a patch that checks the GLOF_LRU flag on a glock
   before trying to remove it from the lru_list. This avoids a lot
   of unnecessary spin_lock contention.
13. I submitted a patch to delete GFS2's debugfs files only after
   we evict all the glocks. Before this patch, GFS2 would delete the
   debugfs files, and if unmount hung waiting for a glock, there was
   no way to debug the problem. Now, if a hang occurs during umount,
   we can examine the debugfs files to figure out why it's hung.
14. Andreas Gruenbacher submitted a patch to fix some trivial typos.
15 - 19. Andreas also submitted a five-part patch set to fix the
   longstanding hang involving the slab shrinker: dlm requires
   memory, calls the inode shrinker, which calls gfs2's evict, which
   calls back into DLM before it can evict an inode.
20. Abhi Das submitted a patch to forcibly flush the active items
   list to relieve memory pressure. This fixes a long-standing bug
   whereby GFS2 was getting hung permanently in balance_dirty_pages.
21. Thomas Tai submitted a patch to fix a slab corruption problem
   due to a residual pointer left in the lock_dlm lockstruct.
22. I submitted a patch to withdraw the file system if IO errors
   are encountered while writing to the journals or statfs system
   file which were previously not being sent back up. Before, some
   IO errors were sometimes not be detected for several hours, and
   at recovery time, the journal errors made journal replay
   impossible.
23. Andreas has a patch to fix an annoying format-truncation compiler
   warning so GFS2 compiles cleanly.
24. I have a patch that fixes a handful of sparse compiler warnings.
25. Andreas fixed up an useless gl_object warning caused by an
   earlier patch.
26. Arvind Yadav added a patch to properly constify our rhashtable
   params declare.
27. I added a patch to fix a regression caused by the non-recursive
   delete and truncate patch that caused file system blocks to not
   be properly freed.
28. Ernesto A. Fern?ndez added a patch to fix a place where GFS2
   would send back the wrong return code setting extended attributes.
29. Ernesto also added a patch to fix a case in which GFS2 was
   improperly setting an inode's i_mode, potentially granting access
   to the wrong users.

Regards,

Bob Peterson
---
Abhi Das (1):
  gfs2: forcibly flush ail to relieve memory pressure

Andreas Gruenbacher (10):
  gfs2: Lock holder cleanup (fixup)
  gfs2: Fixup to "Get rid of flush_delayed_work in gfs2_evict_inode"
  gfs2: Fix trivial typos
  gfs2: gfs2_glock_get: Wait on freeing glocks
  gfs2: Get rid of gfs2_set_nlink
  gfs2: gfs2_evict_inode: Put glocks asynchronously
  gfs2: Defer deleting inodes under memory pressure
  gfs2: Clean up waiting on glocks
  gfs2: Silence gcc format-truncation warning
  GFS2: Fix gl_object warnings

Arvind Yadav (1):
  gfs2: constify rhashtable_params

Bob Peterson (11):
  GFS2: Prevent double brelse in gfs2_meta_indirect_buffer
  GFS2: Introduce helper for clearing gl_object
  GFS2: Set gl_object in inode lookup only after block type check
  GFS2: Clear gl_object if gfs2_create_inode fails
  GFS2: Clear gl_object when deleting an inode in gfs2_delete_inode
  GFS2: Don't bother trying to add rgrps to the lru list
  GFS2: Don't waste time locking lru_lock for non-lru glocks
  GFS2: Delete debugfs files only after we evict the glocks
  GFS2: Withdraw for IO errors writing to the journal or statfs
  GFS2: Fix up some sparse warnings
  GFS2: Fix non-recursive truncate bug

Coly Li (1):
  gfs2: add flag REQ_PRIO for metadata I/O

Ernesto A. Fern?ndez (2):
  gfs2: don't return ENODATA in __gfs2_xattr_set unless replacing
  gfs2: preserve i_mode if __gfs2_set_acl() fails

Jan Kara (1):
  gfs2: Don't clear SGID when inheriting ACLs

Thomas Tai (1):
  gfs2: fix slab corruption during mounting and umounting gfs file
    system

Wang Xibo (1):
  GFS2: fix code parameter error in inode_go_lock

 fs/gfs2/acl.c        |  30 ++++++-----
 fs/gfs2/aops.c       |  14 +++++-
 fs/gfs2/bmap.c       |  24 +++++++--
 fs/gfs2/dir.c        |   4 +-
 fs/gfs2/file.c       |   3 +-
 fs/gfs2/glock.c      | 137 +++++++++++++++++++++++++++++++++++++++++----------
 fs/gfs2/glock.h      |  36 ++++++++++++++
 fs/gfs2/glops.c      |  30 +----------
 fs/gfs2/incore.h     |   4 +-
 fs/gfs2/inode.c      |  17 ++++---
 fs/gfs2/lock_dlm.c   |   5 +-
 fs/gfs2/log.c        |  13 +++++
 fs/gfs2/lops.c       |   7 ++-
 fs/gfs2/meta_io.c    |   9 ++--
 fs/gfs2/ops_fstype.c |   7 ++-
 fs/gfs2/quota.c      |   7 ++-
 fs/gfs2/rgrp.c       |   3 +-
 fs/gfs2/super.c      |  71 +++++++++++++++++++++++---
 fs/gfs2/util.h       |   1 +
 fs/gfs2/xattr.c      |   9 +++-
 20 files changed, 321 insertions(+), 110 deletions(-)

-- 
2.13.5



^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2017-09-04  2:51 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-04  2:50 [Cluster-devel] [PATCH 00/29] GFS2: Pre-pull patch posting (merge window) Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 01/29] GFS2: Prevent double brelse in gfs2_meta_indirect_buffer Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 02/29] gfs2: Lock holder cleanup (fixup) Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 03/29] gfs2: Don't clear SGID when inheriting ACLs Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 04/29] gfs2: Fixup to "Get rid of flush_delayed_work in gfs2_evict_inode" Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 05/29] GFS2: fix code parameter error in inode_go_lock Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 06/29] gfs2: add flag REQ_PRIO for metadata I/O Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 07/29] GFS2: Introduce helper for clearing gl_object Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 08/29] GFS2: Set gl_object in inode lookup only after block type check Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 09/29] GFS2: Clear gl_object if gfs2_create_inode fails Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 10/29] GFS2: Clear gl_object when deleting an inode in gfs2_delete_inode Bob Peterson
2017-09-04  2:50 ` [Cluster-devel] [PATCH 11/29] GFS2: Don't bother trying to add rgrps to the lru list Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 12/29] GFS2: Don't waste time locking lru_lock for non-lru glocks Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 13/29] GFS2: Delete debugfs files only after we evict the glocks Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 14/29] gfs2: Fix trivial typos Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 15/29] gfs2: gfs2_glock_get: Wait on freeing glocks Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 16/29] gfs2: Get rid of gfs2_set_nlink Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 17/29] gfs2: gfs2_evict_inode: Put glocks asynchronously Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 18/29] gfs2: Defer deleting inodes under memory pressure Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 19/29] gfs2: Clean up waiting on glocks Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 20/29] gfs2: forcibly flush ail to relieve memory pressure Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 21/29] gfs2: fix slab corruption during mounting and umounting gfs file system Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 22/29] GFS2: Withdraw for IO errors writing to the journal or statfs Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 23/29] gfs2: Silence gcc format-truncation warning Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 24/29] GFS2: Fix up some sparse warnings Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 25/29] GFS2: Fix gl_object warnings Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 26/29] gfs2: constify rhashtable_params Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 27/29] GFS2: Fix non-recursive truncate bug Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 28/29] gfs2: don't return ENODATA in __gfs2_xattr_set unless replacing Bob Peterson
2017-09-04  2:51 ` [Cluster-devel] [PATCH 29/29] gfs2: preserve i_mode if __gfs2_set_acl() fails Bob Peterson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.