[Cluster-devel] GFS2: Pull request (merge window)

Bob Peterson rpeterso at redhat.com
Wed May 3 16:41:48 UTC 2017


Hi Linus,

Please consider pulling the following changes for the GFS2 file system.

Special note:

This time we had an unusual dependency on a patch (f9fe1c12) which
went through David Miller's net-next tree, so we had a merge commit
on our GFS2 for-next branch. After you pulled that patch, I encountered
a strange git anomaly. Despite the fact that I did a git pull of master
immediately prior, my pull request somehow generated an incorrect
diffstat which showed phantom changes we did not make, for:

 block/bio.c         |  12 +-
 block/blk-core.c    |  30 ++-
 block/blk-mq-tag.c  |   3 +
 block/blk-mq.c      |   9 +-
 drivers/md/dm.c     |  29 +-
 drivers/md/raid10.c |   3 +-
 fs/fs-writeback.c   |  35 ++-

I asked around, but nobody could tell me what went wrong. Strangely,
this command:

git log --oneline --right-only origin/master...FETCH_HEAD --stat

didn't show it, but this one did:

git diff --stat --right-only origin/master...FETCH_HEAD

So I created a temporary local branch and used git merge to
generate a correct diffstat. Hopefully this pull will just work.

If there are problems, let me know if I should do this a different
way next time. (Next time we hopefully won't have any merge commits).

Regards,

Bob Peterson
----------------------------------------------------------------
The following changes since commit f9fe1c12d126f9887441fa5bb165046f30ddd4b5:

  rhashtable: Add rhashtable_lookup_get_insert_fast (2017-03-21 17:52:45 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git tags/gfs2-4.12.fixes

for you to fetch changes up to d552a2b9b33eafdb5eb16c643e745deb564dda7f:

  GFS2: Non-recursive delete (2017-04-19 08:25:43 -0400)

----------------------------------------------------------------
We've got nine GFS2 patches for this merge window.

1. Andreas Gruenbacher wrote a patch to replace the deprecated
   call to rhashtable_walk_init with rhashtable_walk_enter.
2. Andreas also wrote a patch to eliminate redundant code in
   two of our debugfs sequence files.
3. Andreas also cleaned up the rhashtable key ugliness Linus
   pointed out during this cycle, following Linus's suggestions.
4. Andreas also wrote a patch to take advantage of his new
   function rhashtable_lookup_get_insert_fast. This makes glock
   lookup faster and more bullet-proof.
5. Andreas also wrote a patch to revert a patch in the evict
   path that caused occasional deadlocks, and is no longer
   needed.

6. Andrew Price wrote a patch to re-enable fallocate for the
   rindex system file to enable gfs2_grow to grow properly on
   secondary file system grow operations.

7. I wrote a patch to initialize an inode number field to make
   certain kernel trace points more understandable.
8. I also wrote a patch that makes GFS2 file system "withdraw"
   work more like it should by ignoring operations after a
   withdraw that would formerly cause a BUG() and kernel panic.
9. I also reworked the entire truncate/delete algorithm,
   scrapping the old recursive algorithm in favor of a new
   non-recursive algorithm. This was done for performance:
   This way, GFS2 no longer needs to lock multiple resource
   groups while doing truncates and deletes of files that cross
   multiple resource group boundaries, allowing for better
   parallelism. It also solves a problem whereby deleting large
   files would request a large chunk of kernel memory, which
   resulted in a get_page_from_freelist warning.

----------------------------------------------------------------
Andreas Gruenbacher (5):
      gfs2: Replace rhashtable_walk_init with rhashtable_walk_enter
      gfs2: Deduplicate gfs2_{glocks,glstats}_open
      gfs2: Don't pack struct lm_lockname
      gfs2: Switch to rhashtable_lookup_get_insert_fast
      Revert "GFS2: Wait for iopen glock dequeues"

Andrew Price (1):
      gfs2: Re-enable fallocate for the rindex

Bob Peterson (4):
      GFS2: Prevent BUG from occurring when normal Withdraws occur
      GFS2: Temporarily zero i_no_addr when creating a dinode
      Merge commit 'f9fe1c1' into for-next
      GFS2: Non-recursive delete

 fs/gfs2/bmap.c      | 741 ++++++++++++++++++++++++++++++++--------------------
 fs/gfs2/file.c      |   6 +-
 fs/gfs2/glock.c     |  77 +++---
 fs/gfs2/incore.h    |   8 +-
 fs/gfs2/inode.c     |   4 +-
 fs/gfs2/rgrp.c      |   7 -
 fs/gfs2/rgrp.h      |   7 +
 fs/gfs2/super.c     |  11 +-
 8 files changed, 515 insertions(+), 346 deletions(-)




More information about the Cluster-devel mailing list