GFS2: Pull request (merge window)

From: Bob Peterson
Date: Tue Feb 21 2017 - 08:41:38 EST

Hi Linus,

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

Bob Peterson

The following changes since commit a3443cda5588985a2724d6d0f4a5f04e625be6eb:

Merge branch 'next' of git:// (2016-10-04 14:48:27 -0700)

are available in the git repository at:

git:// tags/gfs2-4.11.fixes

for you to fetch changes up to c548a1c175608e268f6495f3f82461303584d1c9:

gfs2: Make gfs2_write_full_page static (2017-02-03 08:23:47 -0500)

We've got eight GFS2 patches for this merge window:

1. Andy Price submitted a patch to make gfs2_write_full_page a
static function.
2. Dan Carpenter submitted a patch to fix a ERR_PTR thinko.

I've also got a few patches, three of which fix bugs related to
deleting very large files, which cause GFS2 to run out of
journal space:

3. The first one prevents GFS2 delete operation from requesting too
much journal space.
4. The second one fixes a problem whereby GFS2 can hang because it
wasn't taking journal space demand into its calculations.
5. The third one wakes up IO waiters when a flush is done to restart
processes stuck waiting for journal space to become available.

The other three patches are a performance improvement related to
spin_lock contention between multiple writers:

6. The "tr_touched" variable was switched to a flag to be more atomic
and eliminate the possibility of some races.
7. Function meta_lo_add was moved inline with its only caller to make
the code more readable and efficient.
8. Contention on the gfs2_log_lock spinlock was greatly reduced by
avoiding the lock altogether in cases where we don't really need
it: buffers that already appear in the appropriate metadata list
for the journal. Many thanks to Steve Whitehouse for the ideas and
principles behind these patches.

Andrew Price (1):
gfs2: Make gfs2_write_full_page static

Bob Peterson (6):
GFS2: Limit number of transaction blocks requested for truncates
GFS2: Made logd daemon take into account log demand
GFS2: Wake up io waiters whenever a flush is done
GFS2: Switch tr_touched to flag in transaction
GFS2: Inline function meta_lo_add
GFS2: Reduce contention on gfs2_log_lock

Dan Carpenter (1):
GFS2: Fix reference to ERR_PTR in gfs2_glock_iter_next

fs/gfs2/aops.c | 4 +--
fs/gfs2/bmap.c | 29 +++++++++++++++++--
fs/gfs2/glock.c | 12 ++++----
fs/gfs2/incore.h | 11 +++++--
fs/gfs2/log.c | 21 ++++++++++----
fs/gfs2/meta_io.c | 6 ++--
fs/gfs2/ops_fstype.c | 1 +
fs/gfs2/trans.c | 81 ++++++++++++++++++++++++++++------------------------
8 files changed, 105 insertions(+), 60 deletions(-)