GFS2: Pull request (merge window)

2019-03-08 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 49a57857aeea06ca831043acbb0fa5e0f50602fd:

  Linux 5.0-rc3 (2019-01-21 13:14:44 +1300)

are available in the Git repository at:

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

for you to fetch changes up to 605b0487f0bc1ae9963bf52ece0f5c8055186f81:

  gfs2: Fix missed wakeups in find_insert_glock (2019-03-08 15:49:01 +0100)


We've only got three patches ready for this merge window:

 - Fix a hang related to missed wakeups for glocks from Andreas Gruenbacher.
 - Rework of how gfs2 manages its debugfs files from Greg K-H.
 - An incorrect assert when truncating or deleting files from Tim Smith.


Andreas Gruenbacher (1):
  gfs2: Fix missed wakeups in find_insert_glock

Greg Kroah-Hartman (1):
  gfs: no need to check return value of debugfs_create functions

Tim Smith (1):
  gfs2: Fix an incorrect gfs2_assert()

 fs/gfs2/glock.c  | 72 
 fs/gfs2/glock.h  |  4 ++--
 fs/gfs2/incore.h |  3 ---
 fs/gfs2/inode.h  |  4 ++--
 fs/gfs2/main.c   |  6 +
 5 files changed, 20 insertions(+), 69 deletions(-)


GFS2: Pull request (merge window)

2018-12-19 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 40e020c129cfc991e8ab4736d2665351ffd1468d:

  Linux 4.20-rc6 (2018-12-09 15:31:00 -0800)

are available in the Git repository at:

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

for you to fetch changes up to bc0205612bbd4dd4026d4ba6287f5643c37366ec:

  gfs2: take jdata unstuff into account in do_grow (2018-12-18 10:49:02 -0600)


We've got 11 patches for this merge window:

 - Enhancements and performance improvements to journal replay (Abhi Das)

 - Cleanup of gfs2_is_ordered and gfs2_is_writeback (Andreas Gruenbacher)

 - Fix a potential double-free in inode creation (Andreas Gruenbacher)

 - Fix the bitmap search loop that was searching too far (Andreas Gruenbacher)

 - Various cleanups (Andreas Gruenbacher, Bob Peterson)

 - Implement Steve Whitehouse's patch to dump nrpages for inodes (Bob Peterson)

 - Fix a withdraw bug where stuffed journaled data files didn't allocate
   enough journal space to be grown (Bob Peterson)


Abhi Das (4):
  gfs2: add more timing info to journal recovery process
  gfs2: changes to gfs2_log_XXX_bio
  gfs2: add a helper function to get_log_header that can be used elsewhere
  gfs2: read journal in large chunks to locate the head

Andreas Gruenbacher (4):
  gfs2: Clean up gfs2_is_{ordered,writeback}
  gfs2: Fix the gfs2_invalidatepage description
  gfs2: Get rid of potential double-freeing in gfs2_create_inode
  gfs2: Fix loop in gfs2_rbm_find

Bob Peterson (3):
  gfs2: Remove vestigial bd_ops
  gfs2: Dump nrpages for inodes and their glocks
  gfs2: take jdata unstuff into account in do_grow

 fs/gfs2/aops.c   |  16 ++--
 fs/gfs2/bmap.c   |  10 +-
 fs/gfs2/glock.c  |   2 +-
 fs/gfs2/glock.h  |   2 +-
 fs/gfs2/glops.c  |  17 +++-
 fs/gfs2/incore.h |   3 +-
 fs/gfs2/inode.c  |  18 ++--
 fs/gfs2/inode.h  |  10 +-
 fs/gfs2/log.c|   5 +-
 fs/gfs2/log.h|   5 +-
 fs/gfs2/lops.c   | 257 +++
 fs/gfs2/lops.h   |   4 +-
 fs/gfs2/ops_fstype.c |   1 +
 fs/gfs2/recovery.c   | 178 +++
 fs/gfs2/recovery.h   |   5 +-
 fs/gfs2/rgrp.c   |   4 +-
 fs/gfs2/rgrp.h   |   2 +-
 fs/gfs2/super.c  |   1 +
 fs/gfs2/trans.c  |   8 +-
 19 files changed, 317 insertions(+), 231 deletions(-)


GFS2: Pull request (merge window)

2018-10-23 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 050cdc6c9501abcd64720b8cc3e7941efee9547d:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-08-27 
11:59:39 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 8e31582a9ab18093c0b7708b52d7f79eed9a8688:

  gfs2: Fix minor typo: couln't versus couldn't. (2018-10-19 11:34:04 -0500)


We've got 18 patches for this merge window, none of which are very major.

1. Andreas Gruenbacher contributed several patches to clean up the gfs2
   block allocator to prepare for future performance enhancements.
2. Andy Price contributed a patch to fix a use-after-free problem.
3. I contributed some patches that fix gfs2's broken rgrplvb mount option.
4. I contributed some cleanup patches and error message improvements.
5. Steve Whitehouse and Abhi Das sent a patch to enable getlabel support.
6. Tim Smith contributed a patch to flush the glock delete workqueue at exit.


Andreas Gruenbacher (8):
  gfs2: Always check the result of gfs2_rbm_from_block
  gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
  gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
  gfs2: Remove unused RGRP_RSRV_MINBYTES definition
  gfs2: Rename bitmap.bi_{len => bytes}
  gfs2: Fix some minor typos
  gfs2: Fix marking bitmaps non-full
  gfs2: Pass resource group to rgblk_free

Andrew Price (1):
  gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd

Bob Peterson (7):
  gfs2: improve debug information when lvb mismatches are found
  gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
  gfs2: slow the deluge of io error messages
  gfs2: Use fs_* functions instead of pr_* function where we can
  gfs2: Remove unnecessary gfs2_rlist_alloc parameter
  gfs2: write revokes should traverse sd_ail1_list in reverse
  gfs2: Fix minor typo: couln't versus couldn't.

Steve Whitehouse (1):
  gfs2: getlabel support

Tim Smith (1):
  GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads

 fs/gfs2/bmap.c   |   4 +-
 fs/gfs2/dir.c|  28 ---
 fs/gfs2/file.c   |  18 -
 fs/gfs2/glock.c  |  17 +++--
 fs/gfs2/incore.h |   9 +--
 fs/gfs2/lock_dlm.c   |  10 +--
 fs/gfs2/log.c|  11 ++-
 fs/gfs2/lops.c   |   2 +-
 fs/gfs2/main.c   |   2 +
 fs/gfs2/ops_fstype.c |   2 +-
 fs/gfs2/quota.c  |   2 +-
 fs/gfs2/rgrp.c   | 201 +--
 fs/gfs2/rgrp.h   |  11 +--
 fs/gfs2/super.c  |   4 +-
 fs/gfs2/trans.c  |  15 ++--
 fs/gfs2/util.c   |  16 ++--
 fs/gfs2/util.h   |   2 +-
 fs/gfs2/xattr.c  |  18 +++--
 18 files changed, 218 insertions(+), 154 deletions(-)


GFS2: Pull request (merge window)

2018-10-23 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 050cdc6c9501abcd64720b8cc3e7941efee9547d:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net (2018-08-27 
11:59:39 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 8e31582a9ab18093c0b7708b52d7f79eed9a8688:

  gfs2: Fix minor typo: couln't versus couldn't. (2018-10-19 11:34:04 -0500)


We've got 18 patches for this merge window, none of which are very major.

1. Andreas Gruenbacher contributed several patches to clean up the gfs2
   block allocator to prepare for future performance enhancements.
2. Andy Price contributed a patch to fix a use-after-free problem.
3. I contributed some patches that fix gfs2's broken rgrplvb mount option.
4. I contributed some cleanup patches and error message improvements.
5. Steve Whitehouse and Abhi Das sent a patch to enable getlabel support.
6. Tim Smith contributed a patch to flush the glock delete workqueue at exit.


Andreas Gruenbacher (8):
  gfs2: Always check the result of gfs2_rbm_from_block
  gfs2: Clean up out-of-bounds check in gfs2_rbm_from_block
  gfs2: Move rs_{sizehint, rgd_gh} fields into the inode
  gfs2: Remove unused RGRP_RSRV_MINBYTES definition
  gfs2: Rename bitmap.bi_{len => bytes}
  gfs2: Fix some minor typos
  gfs2: Fix marking bitmaps non-full
  gfs2: Pass resource group to rgblk_free

Andrew Price (1):
  gfs2: Don't leave s_fs_info pointing to freed memory in init_sbd

Bob Peterson (7):
  gfs2: improve debug information when lvb mismatches are found
  gfs2: Don't set GFS2_RDF_UPTODATE when the lvb is updated
  gfs2: slow the deluge of io error messages
  gfs2: Use fs_* functions instead of pr_* function where we can
  gfs2: Remove unnecessary gfs2_rlist_alloc parameter
  gfs2: write revokes should traverse sd_ail1_list in reverse
  gfs2: Fix minor typo: couln't versus couldn't.

Steve Whitehouse (1):
  gfs2: getlabel support

Tim Smith (1):
  GFS2: Flush the GFS2 delete workqueue before stopping the kernel threads

 fs/gfs2/bmap.c   |   4 +-
 fs/gfs2/dir.c|  28 ---
 fs/gfs2/file.c   |  18 -
 fs/gfs2/glock.c  |  17 +++--
 fs/gfs2/incore.h |   9 +--
 fs/gfs2/lock_dlm.c   |  10 +--
 fs/gfs2/log.c|  11 ++-
 fs/gfs2/lops.c   |   2 +-
 fs/gfs2/main.c   |   2 +
 fs/gfs2/ops_fstype.c |   2 +-
 fs/gfs2/quota.c  |   2 +-
 fs/gfs2/rgrp.c   | 201 +--
 fs/gfs2/rgrp.h   |  11 +--
 fs/gfs2/super.c  |   4 +-
 fs/gfs2/trans.c  |  15 ++--
 fs/gfs2/util.c   |  16 ++--
 fs/gfs2/util.h   |   2 +-
 fs/gfs2/xattr.c  |  18 +++--
 18 files changed, 218 insertions(+), 154 deletions(-)


GFS2: Pull request (merge window)

2018-04-03 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 1b88accf6a659c46d5c8e68912896f112bf882bb:

  Merge tag 'for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost (2018-03-07 17:49:33 
-0800)

are available in the Git repository at:

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

for you to fetch changes up to 5e86d9d122d0d6fae00d9dff41c22d6f4d09f566:

  gfs2: time journal recovery steps accurately (2018-03-29 10:41:27 -0700)


We've only got 9 GFS2 patches for this merge window:

1. Abhi Das contributed a patch to report journal recovery times more
   accurately during journal replay.
2. Andreas Gruenbacher contributed a patch to fix fallocate chunk size.
3. Andreas added a patch to correctly dirty inodes during rename.
4. Andreas added a patch to improve the comment for function gfs2_block_map.
5. Andreas added a patch to improve kernel trace point iomap end:
   The physical block address was added.
6. Andreas added a patch to fix a nasty file system corruption bug that
   surfaced in xfstests 476 in punch-hole/truncate.
7. Andreas fixed a problem Christoph Helwig pointed out, namely, that GFS2
   was misusing the IOMAP_ZERO flag. The zeroing of new blocks was moved
   to the proper fallocate code.
8. I contributed a patch to declare function gfs2_remove_from_ail as static.
9. I added a patch to only set PageChecked for jdata page writes.


Abhi Das (1):
  gfs2: time journal recovery steps accurately

Andreas Gruenbacher (6):
  gfs2: Fix fallocate chunk size
  gfs2: Dirty source inode during rename
  gfs2: Improve gfs2_block_map comment
  gfs2: gfs2_iomap_end tracepoint: log block address
  gfs2: Check for the end of metadata in punch_hole
  gfs2: Zero out fallocated blocks in fallocate_chunk

Bob Peterson (2):
  GFS2: Make function gfs2_remove_from_ail static
  GFS2: Only set PageChecked for jdata pages

 fs/gfs2/aops.c   |  8 
 fs/gfs2/bmap.c   | 38 --
 fs/gfs2/dir.c| 13 ++---
 fs/gfs2/file.c   | 34 +-
 fs/gfs2/incore.h |  3 ---
 fs/gfs2/inode.c  | 10 +-
 fs/gfs2/log.c|  2 +-
 fs/gfs2/log.h|  1 -
 fs/gfs2/quota.h  |  2 ++
 fs/gfs2/recovery.c   | 20 ++--
 fs/gfs2/trace_gfs2.h |  9 +++--
 11 files changed, 68 insertions(+), 72 deletions(-)


GFS2: Pull request (merge window)

2018-04-03 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 1b88accf6a659c46d5c8e68912896f112bf882bb:

  Merge tag 'for_linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost (2018-03-07 17:49:33 
-0800)

are available in the Git repository at:

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

for you to fetch changes up to 5e86d9d122d0d6fae00d9dff41c22d6f4d09f566:

  gfs2: time journal recovery steps accurately (2018-03-29 10:41:27 -0700)


We've only got 9 GFS2 patches for this merge window:

1. Abhi Das contributed a patch to report journal recovery times more
   accurately during journal replay.
2. Andreas Gruenbacher contributed a patch to fix fallocate chunk size.
3. Andreas added a patch to correctly dirty inodes during rename.
4. Andreas added a patch to improve the comment for function gfs2_block_map.
5. Andreas added a patch to improve kernel trace point iomap end:
   The physical block address was added.
6. Andreas added a patch to fix a nasty file system corruption bug that
   surfaced in xfstests 476 in punch-hole/truncate.
7. Andreas fixed a problem Christoph Helwig pointed out, namely, that GFS2
   was misusing the IOMAP_ZERO flag. The zeroing of new blocks was moved
   to the proper fallocate code.
8. I contributed a patch to declare function gfs2_remove_from_ail as static.
9. I added a patch to only set PageChecked for jdata page writes.


Abhi Das (1):
  gfs2: time journal recovery steps accurately

Andreas Gruenbacher (6):
  gfs2: Fix fallocate chunk size
  gfs2: Dirty source inode during rename
  gfs2: Improve gfs2_block_map comment
  gfs2: gfs2_iomap_end tracepoint: log block address
  gfs2: Check for the end of metadata in punch_hole
  gfs2: Zero out fallocated blocks in fallocate_chunk

Bob Peterson (2):
  GFS2: Make function gfs2_remove_from_ail static
  GFS2: Only set PageChecked for jdata pages

 fs/gfs2/aops.c   |  8 
 fs/gfs2/bmap.c   | 38 --
 fs/gfs2/dir.c| 13 ++---
 fs/gfs2/file.c   | 34 +-
 fs/gfs2/incore.h |  3 ---
 fs/gfs2/inode.c  | 10 +-
 fs/gfs2/log.c|  2 +-
 fs/gfs2/log.h|  1 -
 fs/gfs2/quota.h  |  2 ++
 fs/gfs2/recovery.c   | 20 ++--
 fs/gfs2/trace_gfs2.h |  9 +++--
 11 files changed, 68 insertions(+), 72 deletions(-)


GFS2: Pull request (merge window)

2018-01-31 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 1291a0d5049dbc06baaaf66a9ff3f53db493b19b:

  Linux 4.15-rc4 (2017-12-17 18:59:59 -0800)

are available in the Git repository at:

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

for you to fetch changes up to af38816e4801d2868258085831172a003d1634ff:

  gfs2: Add a few missing newlines in messages (2018-01-30 10:32:30 -0700)


We've got 30 patches for this merge window. These generally fall into
five categories: (1) code cleanups, (2) patches related to adding
PUNCH_HOLE support to GFS2, (3) support for new fields in resource group
headers, (4) a few bug fixes, and (5) support for new fields in journal
log headers. These new fields, which were previously unused, are designed
to make it easier to track down file system corruption, and allow fsck.gfs2
to make more intelligent decisions when finding and fixing file system
corruption.

1. Abhi Das contributed a patch to trim the ordered writes list, which
   used to grow uncontrollably until unmount.
2. Abhi also added a second patch to trim the ordered writes list.
3. Andreas Gruenbacher removed an unused parameter from function
   gfs2_write_jdata_pagevec.
4. Andreas also removed a pointless BUG_ON.
5. Andreas cleaned up an error patch in trunc_start.
6. Andreas removed some unused parameters from truncate.
7. Andreas made gfs2_journaled_truncate more efficient.
8. Andreas cleaned up the support functions for truncate.
9. Andreas fixed metadata read-ahead for truncate to make it faster.
10. Andreas fixed up the non-recursive truncate code.
11. Andreas reworked and renamed function gfs2_block_truncate_page.
12. Andreas generalized the non-recursive truncate code so it can
take a range of values for punch_hole support.
13. Andreas introduced new PUNCH_HOLE support that take advantage
of the previous patches.
14. Andreas contributed a patch to add fallocate with PUNCH_HOLE.
15. Andreas fixed some typos in the comments.
16. Andreas added function gfs2_max_stuffed_size to replace a piece
of code that was needlessly repeated throughout GFS2.
17. Andreas made a minor cleanup to function gfs2_page_add_databufs.
18. Andreas got rid of function gfs2_log_header_in in preparation for
the new log header fields.
19. Andreas also fixed up some missing newlines in kernel messages.
20. Andy Price added a new field to resource groups to indicate where
the next one should be, to allow fsck.gfs2 to make better repairs.
21. Andy also added new rindex fields for consistency checking.
22. Andy added a crc field to resource group headers for consistency
checking.
23. I added a patch to reduce redundancy in functions common to
freeing dinodes.
24. I added a patch to reduce redundancy when writing log headers
between the journalling code and journal recovery code.
25. I added a patch to add new fields to journal log headers based
on a prototype from Steve Whitehouse.
26. I added a patch to log the source of journal log headers so we
can better track down journal corruption.
27. I added a patch to fix a minor comment typo.
28. I also added a patch to fix a BUG in an unlink error path.
29. Steve Whitehouse contributed a patch to fix an incorrect use
of the gfs2_blk2rgrpd function.
30. Tetsuo Handa contributed a patch that fixes incorrect error
handling in function init_gfs2_fs.


Abhi Das (2):
  gfs2: Trim the ordered write list in gfs2_ordered_write()
  gfs2: Remove inode from ordered write list in gfs2_write_inode()

Andreas Gruenbacher (17):
  gfs2: Remove unused gfs2_write_jdata_pagevec parameter
  gfs2: Remove pointless BUG_ON
  gfs2: Clean up trunc_start error path
  gfs2: truncate: Remove unnecessary oldsize parameters
  gfs2: Remove minor gfs2_journaled_truncate inefficiencies
  gfs2: Clean up {lookup,fillup}_metapath
  gfs2: Fix metadata read-ahead during truncate
  gfs2: Improve non-recursive delete algorithm
  Turn gfs2_block_truncate_page into gfs2_block_zero_range
  gfs2: Generalize truncate code
  gfs2: Turn trunc_dealloc into punch_hole
  gfs2: Implement fallocate(FALLOC_FL_PUNCH_HOLE)
  gfs2: Typo fixes
  gfs2: Add gfs2_max_stuffed_size
  gfs2: Minor gfs2_page_add_databufs cleanup
  gfs2: Get rid of gfs2_log_header_in
  gfs2: Add a few missing newlines in messages

Andrew Price (3):
  gfs2: Add a next-resource-group pointer to resource groups
  gfs2: Add rindex fields to rgrp headers
  gfs2: Add a crc field to resource group headers

Bob Peterson (7):
  GFS2: Combine gfs2_free_di with gfs2_free_uninit_di
  GFS2: Reduce code redundancy writing log headers
   

GFS2: Pull request (merge window)

2018-01-31 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 1291a0d5049dbc06baaaf66a9ff3f53db493b19b:

  Linux 4.15-rc4 (2017-12-17 18:59:59 -0800)

are available in the Git repository at:

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

for you to fetch changes up to af38816e4801d2868258085831172a003d1634ff:

  gfs2: Add a few missing newlines in messages (2018-01-30 10:32:30 -0700)


We've got 30 patches for this merge window. These generally fall into
five categories: (1) code cleanups, (2) patches related to adding
PUNCH_HOLE support to GFS2, (3) support for new fields in resource group
headers, (4) a few bug fixes, and (5) support for new fields in journal
log headers. These new fields, which were previously unused, are designed
to make it easier to track down file system corruption, and allow fsck.gfs2
to make more intelligent decisions when finding and fixing file system
corruption.

1. Abhi Das contributed a patch to trim the ordered writes list, which
   used to grow uncontrollably until unmount.
2. Abhi also added a second patch to trim the ordered writes list.
3. Andreas Gruenbacher removed an unused parameter from function
   gfs2_write_jdata_pagevec.
4. Andreas also removed a pointless BUG_ON.
5. Andreas cleaned up an error patch in trunc_start.
6. Andreas removed some unused parameters from truncate.
7. Andreas made gfs2_journaled_truncate more efficient.
8. Andreas cleaned up the support functions for truncate.
9. Andreas fixed metadata read-ahead for truncate to make it faster.
10. Andreas fixed up the non-recursive truncate code.
11. Andreas reworked and renamed function gfs2_block_truncate_page.
12. Andreas generalized the non-recursive truncate code so it can
take a range of values for punch_hole support.
13. Andreas introduced new PUNCH_HOLE support that take advantage
of the previous patches.
14. Andreas contributed a patch to add fallocate with PUNCH_HOLE.
15. Andreas fixed some typos in the comments.
16. Andreas added function gfs2_max_stuffed_size to replace a piece
of code that was needlessly repeated throughout GFS2.
17. Andreas made a minor cleanup to function gfs2_page_add_databufs.
18. Andreas got rid of function gfs2_log_header_in in preparation for
the new log header fields.
19. Andreas also fixed up some missing newlines in kernel messages.
20. Andy Price added a new field to resource groups to indicate where
the next one should be, to allow fsck.gfs2 to make better repairs.
21. Andy also added new rindex fields for consistency checking.
22. Andy added a crc field to resource group headers for consistency
checking.
23. I added a patch to reduce redundancy in functions common to
freeing dinodes.
24. I added a patch to reduce redundancy when writing log headers
between the journalling code and journal recovery code.
25. I added a patch to add new fields to journal log headers based
on a prototype from Steve Whitehouse.
26. I added a patch to log the source of journal log headers so we
can better track down journal corruption.
27. I added a patch to fix a minor comment typo.
28. I also added a patch to fix a BUG in an unlink error path.
29. Steve Whitehouse contributed a patch to fix an incorrect use
of the gfs2_blk2rgrpd function.
30. Tetsuo Handa contributed a patch that fixes incorrect error
handling in function init_gfs2_fs.


Abhi Das (2):
  gfs2: Trim the ordered write list in gfs2_ordered_write()
  gfs2: Remove inode from ordered write list in gfs2_write_inode()

Andreas Gruenbacher (17):
  gfs2: Remove unused gfs2_write_jdata_pagevec parameter
  gfs2: Remove pointless BUG_ON
  gfs2: Clean up trunc_start error path
  gfs2: truncate: Remove unnecessary oldsize parameters
  gfs2: Remove minor gfs2_journaled_truncate inefficiencies
  gfs2: Clean up {lookup,fillup}_metapath
  gfs2: Fix metadata read-ahead during truncate
  gfs2: Improve non-recursive delete algorithm
  Turn gfs2_block_truncate_page into gfs2_block_zero_range
  gfs2: Generalize truncate code
  gfs2: Turn trunc_dealloc into punch_hole
  gfs2: Implement fallocate(FALLOC_FL_PUNCH_HOLE)
  gfs2: Typo fixes
  gfs2: Add gfs2_max_stuffed_size
  gfs2: Minor gfs2_page_add_databufs cleanup
  gfs2: Get rid of gfs2_log_header_in
  gfs2: Add a few missing newlines in messages

Andrew Price (3):
  gfs2: Add a next-resource-group pointer to resource groups
  gfs2: Add rindex fields to rgrp headers
  gfs2: Add a crc field to resource group headers

Bob Peterson (7):
  GFS2: Combine gfs2_free_di with gfs2_free_uninit_di
  GFS2: Reduce code redundancy writing log headers
   

GFS2: Pull request (merge window) (redo)

2017-11-14 Thread Bob Peterson
Hi Linus,

I've adjusted this pull request to have a proper diffstat generated by
git merge to a temporary branch, as I did the last time this happened.

So you can pull this one, but probably after Ted's merge request:
https://lkml.org/lkml/2017/11/12/256

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

Regards,

Bob Peterson

The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:

  Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)

are available in the git repository at:

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

for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:

  gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31 
14:26:59 +0100)


We've got a total of 17 GFS2 patches for this merge window. The
patches are basically in three categories: (1) patches related to
broken xfstest cases, (2) patches related to improving iomap and
start using it in GFS2, and (3) general typos and clarifications.

Please note that one of the iomap patches extends beyond GFS2 and
affects other file systems, but it was publically reviewed by a
variety of file system people in the community.

1. Andreas has a patch that simply renames variable 'bsize' to 'factor'
   to clarify the logic related to gfs2_block_map.
2. He also has a patch to correctly set ctime in the setflags ioctl,
   which fixes broken xfstests test 277.
3. He also fixed broken xfstest 258, due to an atime initialization
   problem.
4. He also fixed broken xfstest 307, in which GFS2 was not setting
   ctime when setting acls.
5. He has a patch to switch general iomap code from blkno to disk
   offset for a variety of file systems.
6. He has a patch to add a new IOMAP_F_DATA_INLINE flag for iomap
   to indicate blocks that have data mixed with metadata.
7. I contributed a patch to make inode height info part of the
   'metapath' data structure to facilitate using iomap in GFS2.
8. I have a patch to start using iomap inside GFS2 and switch GFS2's
   block_map functions to use iomap under the covers.
9. I have a patch to switch GFS2's fiemap implementation from using
   block_map to using iomap under the covers.
10. Andreas has a patch to implement SEEK_HOLE and SEEK_DATA via
iomap in GFS2.
11. I have a patch related to journaled data pages not being properly
synced to media when writing inodes. This was caught with xfstests.
12. I have a patch to fix another failing xfstest case in which
switching a file from ordered_write to journaled data via set_flags
caused a deadlock.
13. Andreas has a patch to fix failing xfstest case 066, which was
due to not properly syncing dirty inodes when changing extended
attributes.
14. Andreas fixed a minor typo in a comment.
15. Andreas contributed a patch to partially fix xfstest 424, which
involved GET_FLAGS and SET_FLAGS ioctl. This is also a cleanup
and simplification of the translation of flags from fs flags to
gfs2 flags.
16. He also added support for STATX_ATTR_ in statx, which fixed broken
xfstest 424.
17. He also contributed a fix for failing xfstest 093 which fixes a
recursive glock problem with gfs2_xattr_get and _set.


Andreas Gruenbacher (13):
  gfs2: Clarify gfs2_block_map
  gfs2: Update ctime in setflags ioctl
  gfs2: Support negative atimes
  gfs2: Always update inode ctime in set_acl
  iomap: Switch from blkno to disk offset
  iomap: Add IOMAP_F_DATA_INLINE flag
  Merge branch 'master' of git://git.kernel.org/.../tytso/ext4
  gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
  gfs2: Fix xattr fsync
  gfs2: Fix a harmless typo
  gfs2: Fix and clean up {GET,SET}FLAGS ioctl
  gfs2: Add support for statx inode flags
  gfs2: Allow gfs2_xattr_set to be called with the glock held

Bob Peterson (5):
  GFS2: Make height info part of metapath
  GFS2: Implement iomap for block_map
  GFS2: Switch fiemap implementation to use iomap
  GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
  GFS2: Take inode off order_write list when setting jdata flag

 fs/gfs2/Kconfig   |   1 +
 fs/gfs2/acl.c |   1 +
 fs/gfs2/bmap.c| 322 
+--
 fs/gfs2/bmap.h|   4 +
 fs/gfs2/file.c| 124 ++-
 fs/gfs2/inode.c   |  89 ++--
 fs/gfs2/inode.h   |   2 +
 fs/gfs2/super.c   |   5 +-
 fs/gfs2/trace_gfs2.h  |  65 +++
 fs/gfs2/trans.c   |   2 +-
 fs/gfs2/xattr.c   |  63 ++
 include/linux/iomap.h |   3 +-
 12 files changed, 471 insertions(+), 210 deletions(-)


GFS2: Pull request (merge window) (redo)

2017-11-14 Thread Bob Peterson
Hi Linus,

I've adjusted this pull request to have a proper diffstat generated by
git merge to a temporary branch, as I did the last time this happened.

So you can pull this one, but probably after Ted's merge request:
https://lkml.org/lkml/2017/11/12/256

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

Regards,

Bob Peterson

The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:

  Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)

are available in the git repository at:

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

for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:

  gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31 
14:26:59 +0100)


We've got a total of 17 GFS2 patches for this merge window. The
patches are basically in three categories: (1) patches related to
broken xfstest cases, (2) patches related to improving iomap and
start using it in GFS2, and (3) general typos and clarifications.

Please note that one of the iomap patches extends beyond GFS2 and
affects other file systems, but it was publically reviewed by a
variety of file system people in the community.

1. Andreas has a patch that simply renames variable 'bsize' to 'factor'
   to clarify the logic related to gfs2_block_map.
2. He also has a patch to correctly set ctime in the setflags ioctl,
   which fixes broken xfstests test 277.
3. He also fixed broken xfstest 258, due to an atime initialization
   problem.
4. He also fixed broken xfstest 307, in which GFS2 was not setting
   ctime when setting acls.
5. He has a patch to switch general iomap code from blkno to disk
   offset for a variety of file systems.
6. He has a patch to add a new IOMAP_F_DATA_INLINE flag for iomap
   to indicate blocks that have data mixed with metadata.
7. I contributed a patch to make inode height info part of the
   'metapath' data structure to facilitate using iomap in GFS2.
8. I have a patch to start using iomap inside GFS2 and switch GFS2's
   block_map functions to use iomap under the covers.
9. I have a patch to switch GFS2's fiemap implementation from using
   block_map to using iomap under the covers.
10. Andreas has a patch to implement SEEK_HOLE and SEEK_DATA via
iomap in GFS2.
11. I have a patch related to journaled data pages not being properly
synced to media when writing inodes. This was caught with xfstests.
12. I have a patch to fix another failing xfstest case in which
switching a file from ordered_write to journaled data via set_flags
caused a deadlock.
13. Andreas has a patch to fix failing xfstest case 066, which was
due to not properly syncing dirty inodes when changing extended
attributes.
14. Andreas fixed a minor typo in a comment.
15. Andreas contributed a patch to partially fix xfstest 424, which
involved GET_FLAGS and SET_FLAGS ioctl. This is also a cleanup
and simplification of the translation of flags from fs flags to
gfs2 flags.
16. He also added support for STATX_ATTR_ in statx, which fixed broken
xfstest 424.
17. He also contributed a fix for failing xfstest 093 which fixes a
recursive glock problem with gfs2_xattr_get and _set.


Andreas Gruenbacher (13):
  gfs2: Clarify gfs2_block_map
  gfs2: Update ctime in setflags ioctl
  gfs2: Support negative atimes
  gfs2: Always update inode ctime in set_acl
  iomap: Switch from blkno to disk offset
  iomap: Add IOMAP_F_DATA_INLINE flag
  Merge branch 'master' of git://git.kernel.org/.../tytso/ext4
  gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
  gfs2: Fix xattr fsync
  gfs2: Fix a harmless typo
  gfs2: Fix and clean up {GET,SET}FLAGS ioctl
  gfs2: Add support for statx inode flags
  gfs2: Allow gfs2_xattr_set to be called with the glock held

Bob Peterson (5):
  GFS2: Make height info part of metapath
  GFS2: Implement iomap for block_map
  GFS2: Switch fiemap implementation to use iomap
  GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
  GFS2: Take inode off order_write list when setting jdata flag

 fs/gfs2/Kconfig   |   1 +
 fs/gfs2/acl.c |   1 +
 fs/gfs2/bmap.c| 322 
+--
 fs/gfs2/bmap.h|   4 +
 fs/gfs2/file.c| 124 ++-
 fs/gfs2/inode.c   |  89 ++--
 fs/gfs2/inode.h   |   2 +
 fs/gfs2/super.c   |   5 +-
 fs/gfs2/trace_gfs2.h  |  65 +++
 fs/gfs2/trans.c   |   2 +-
 fs/gfs2/xattr.c   |  63 ++
 include/linux/iomap.h |   3 +-
 12 files changed, 471 insertions(+), 210 deletions(-)


Re: GFS2: Pull request (merge window)

2017-11-14 Thread Bob Peterson
- Original Message -
| Hi Linus,
| 
| Please consider pulling the following changes for the GFS2 file system.
| 
| Regards,
| 
| Bob Peterson
| 
| The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:
| 
|   Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)
| 
| are available in the git repository at:
| 
|   git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
|   tags/gfs2-4.15.fixes
| 
| for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:
| 
|   gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31
|   14:26:59 +0100)
Hi Linus,

I guess I jumped the gun on this. Sorry. 

This pull request has a dependency on patches that are going through
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 master due
to the iomap changes we need that required another merge branch.

So maybe it's best to hold off until those changes get merged.
I'll see if I can send a replacement pull request.

Regards,

Bob Peterson


Re: GFS2: Pull request (merge window)

2017-11-14 Thread Bob Peterson
- Original Message -
| Hi Linus,
| 
| Please consider pulling the following changes for the GFS2 file system.
| 
| Regards,
| 
| Bob Peterson
| 
| The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:
| 
|   Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)
| 
| are available in the git repository at:
| 
|   git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
|   tags/gfs2-4.15.fixes
| 
| for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:
| 
|   gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31
|   14:26:59 +0100)
Hi Linus,

I guess I jumped the gun on this. Sorry. 

This pull request has a dependency on patches that are going through
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 master due
to the iomap changes we need that required another merge branch.

So maybe it's best to hold off until those changes get merged.
I'll see if I can send a replacement pull request.

Regards,

Bob Peterson


GFS2: Pull request (merge window)

2017-11-14 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:

  Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)

are available in the git repository at:

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

for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:

  gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31 
14:26:59 +0100)


We've got a total of 17 GFS2 patches for this merge window. The
patches are basically in three categories: (1) patches related to
broken xfstest cases, (2) patches related to improving iomap and
start using it in GFS2, and (3) general typos and clarifications.

Please note that one of the iomap patches extends beyond GFS2 and
affects other file systems, but it was publically reviewed by a
variety of file system people in the community.

1. Andreas has a patch that simply renames variable 'bsize' to 'factor'
   to clarify the logic related to gfs2_block_map.
2. He also has a patch to correctly set ctime in the setflags ioctl,
   which fixes broken xfstests test 277.
3. He also fixed broken xfstest 258, due to an atime initialization
   problem.
4. He also fixed broken xfstest 307, in which GFS2 was not setting
   ctime when setting acls.
5. He has a patch to switch general iomap code from blkno to disk
   offset for a variety of file systems.
6. He has a patch to add a new IOMAP_F_DATA_INLINE flag for iomap
   to indicate blocks that have data mixed with metadata.
7. I contributed a patch to make inode height info part of the
   'metapath' data structure to facilitate using iomap in GFS2.
8. I have a patch to start using iomap inside GFS2 and switch GFS2's
   block_map functions to use iomap under the covers.
9. I have a patch to switch GFS2's fiemap implementation from using
   block_map to using iomap under the covers.
10. Andreas has a patch to implement SEEK_HOLE and SEEK_DATA via
iomap in GFS2.
11. I have a patch related to journaled data pages not being properly
synced to media when writing inodes. This was caught with xfstests.
12. I have a patch to fix another failing xfstest case in which
switching a file from ordered_write to journaled data via set_flags
caused a deadlock.
13. Andreas has a patch to fix failing xfstest case 066, which was
due to not properly syncing dirty inodes when changing extended
attributes.
14. Andreas fixed a minor typo in a comment.
15. Andreas contributed a patch to partially fix xfstest 424, which
involved GET_FLAGS and SET_FLAGS ioctl. This is also a cleanup
and simplification of the translation of flags from fs flags to
gfs2 flags.
16. He also added support for STATX_ATTR_ in statx, which fixed broken
xfstest 424.
17. He also contributed a fix for failing xfstest 093 which fixes a
recursive glock problem with gfs2_xattr_get and _set.


Andreas Gruenbacher (13):
  gfs2: Clarify gfs2_block_map
  gfs2: Update ctime in setflags ioctl
  gfs2: Support negative atimes
  gfs2: Always update inode ctime in set_acl
  iomap: Switch from blkno to disk offset
  iomap: Add IOMAP_F_DATA_INLINE flag
  Merge branch 'master' of git://git.kernel.org/.../tytso/ext4
  gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
  gfs2: Fix xattr fsync
  gfs2: Fix a harmless typo
  gfs2: Fix and clean up {GET,SET}FLAGS ioctl
  gfs2: Add support for statx inode flags
  gfs2: Allow gfs2_xattr_set to be called with the glock held

Bob Peterson (5):
  GFS2: Make height info part of metapath
  GFS2: Implement iomap for block_map
  GFS2: Switch fiemap implementation to use iomap
  GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
  GFS2: Take inode off order_write list when setting jdata flag

 fs/buffer.c   |   4 +-
 fs/dax.c  |   2 +-
 fs/ext2/inode.c   |   4 +-
 fs/ext4/inode.c   |   4 +-
 fs/gfs2/Kconfig   |   1 +
 fs/gfs2/acl.c |   1 +
 fs/gfs2/bmap.c| 322 +-
 fs/gfs2/bmap.h|   4 +
 fs/gfs2/file.c| 124 ++-
 fs/gfs2/inode.c   |  89 ++
 fs/gfs2/inode.h   |   2 +
 fs/gfs2/super.c   |   5 +-
 fs/gfs2/trace_gfs2.h  |  65 ++
 fs/gfs2/trans.c   |   2 +-
 fs/gfs2/xattr.c   |  63 --
 fs/iomap.c|  13 +-
 fs/nfsd/blocklayout.c |   4 +-
 fs/xfs/xfs_iomap.c|   6 +-
 include/linux/iomap.h |  18 +--
 19 files changed, 498 insertions(+), 235 deletions(-)


GFS2: Pull request (merge window)

2017-11-14 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 9e66317d3c92ddaab330c125dfe9d06eee268aff:

  Linux 4.14-rc3 (2017-10-01 14:54:54 -0700)

are available in the git repository at:

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

for you to fetch changes up to d0920a9cd7e735c429c510b523a100db82c937a1:

  gfs2: Allow gfs2_xattr_set to be called with the glock held (2017-10-31 
14:26:59 +0100)


We've got a total of 17 GFS2 patches for this merge window. The
patches are basically in three categories: (1) patches related to
broken xfstest cases, (2) patches related to improving iomap and
start using it in GFS2, and (3) general typos and clarifications.

Please note that one of the iomap patches extends beyond GFS2 and
affects other file systems, but it was publically reviewed by a
variety of file system people in the community.

1. Andreas has a patch that simply renames variable 'bsize' to 'factor'
   to clarify the logic related to gfs2_block_map.
2. He also has a patch to correctly set ctime in the setflags ioctl,
   which fixes broken xfstests test 277.
3. He also fixed broken xfstest 258, due to an atime initialization
   problem.
4. He also fixed broken xfstest 307, in which GFS2 was not setting
   ctime when setting acls.
5. He has a patch to switch general iomap code from blkno to disk
   offset for a variety of file systems.
6. He has a patch to add a new IOMAP_F_DATA_INLINE flag for iomap
   to indicate blocks that have data mixed with metadata.
7. I contributed a patch to make inode height info part of the
   'metapath' data structure to facilitate using iomap in GFS2.
8. I have a patch to start using iomap inside GFS2 and switch GFS2's
   block_map functions to use iomap under the covers.
9. I have a patch to switch GFS2's fiemap implementation from using
   block_map to using iomap under the covers.
10. Andreas has a patch to implement SEEK_HOLE and SEEK_DATA via
iomap in GFS2.
11. I have a patch related to journaled data pages not being properly
synced to media when writing inodes. This was caught with xfstests.
12. I have a patch to fix another failing xfstest case in which
switching a file from ordered_write to journaled data via set_flags
caused a deadlock.
13. Andreas has a patch to fix failing xfstest case 066, which was
due to not properly syncing dirty inodes when changing extended
attributes.
14. Andreas fixed a minor typo in a comment.
15. Andreas contributed a patch to partially fix xfstest 424, which
involved GET_FLAGS and SET_FLAGS ioctl. This is also a cleanup
and simplification of the translation of flags from fs flags to
gfs2 flags.
16. He also added support for STATX_ATTR_ in statx, which fixed broken
xfstest 424.
17. He also contributed a fix for failing xfstest 093 which fixes a
recursive glock problem with gfs2_xattr_get and _set.


Andreas Gruenbacher (13):
  gfs2: Clarify gfs2_block_map
  gfs2: Update ctime in setflags ioctl
  gfs2: Support negative atimes
  gfs2: Always update inode ctime in set_acl
  iomap: Switch from blkno to disk offset
  iomap: Add IOMAP_F_DATA_INLINE flag
  Merge branch 'master' of git://git.kernel.org/.../tytso/ext4
  gfs2: Implement SEEK_HOLE / SEEK_DATA via iomap
  gfs2: Fix xattr fsync
  gfs2: Fix a harmless typo
  gfs2: Fix and clean up {GET,SET}FLAGS ioctl
  gfs2: Add support for statx inode flags
  gfs2: Allow gfs2_xattr_set to be called with the glock held

Bob Peterson (5):
  GFS2: Make height info part of metapath
  GFS2: Implement iomap for block_map
  GFS2: Switch fiemap implementation to use iomap
  GFS2: flush the log and all pages for jdata as we do for WB_SYNC_ALL
  GFS2: Take inode off order_write list when setting jdata flag

 fs/buffer.c   |   4 +-
 fs/dax.c  |   2 +-
 fs/ext2/inode.c   |   4 +-
 fs/ext4/inode.c   |   4 +-
 fs/gfs2/Kconfig   |   1 +
 fs/gfs2/acl.c |   1 +
 fs/gfs2/bmap.c| 322 +-
 fs/gfs2/bmap.h|   4 +
 fs/gfs2/file.c| 124 ++-
 fs/gfs2/inode.c   |  89 ++
 fs/gfs2/inode.h   |   2 +
 fs/gfs2/super.c   |   5 +-
 fs/gfs2/trace_gfs2.h  |  65 ++
 fs/gfs2/trans.c   |   2 +-
 fs/gfs2/xattr.c   |  63 --
 fs/iomap.c|  13 +-
 fs/nfsd/blocklayout.c |   4 +-
 fs/xfs/xfs_iomap.c|   6 +-
 include/linux/iomap.h |  18 +--
 19 files changed, 498 insertions(+), 235 deletions(-)


GFS2: Pull request (merge window)

2017-09-04 Thread Bob Peterson
Hi Linus,

Sorry this is a bit rushed, but I wanted to get this out this week, and
I'll be traveling for the next ten days with unknown Internet access.

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

Regards,

Bob Peterson

The following changes since commit da029c11e6b12f321f36dac8771e833b65cec962:

  exec: Limit arg stack to at most 75% of _STK_LIM (2017-07-07 20:05:08 -0700)

are available in the git repository at:

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

for you to fetch changes up to 309e8cda596f6552a32dd14b969ce9b17f837f2f:

  gfs2: preserve i_mode if __gfs2_set_acl() fails (2017-08-31 07:53:15 -0500)


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.


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

Andreas Gruenbacher (10):
  gfs2: Lock holder cleanup (fixup)
  gfs2: Fixup to "Get 

GFS2: Pull request (merge window)

2017-09-04 Thread Bob Peterson
Hi Linus,

Sorry this is a bit rushed, but I wanted to get this out this week, and
I'll be traveling for the next ten days with unknown Internet access.

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

Regards,

Bob Peterson

The following changes since commit da029c11e6b12f321f36dac8771e833b65cec962:

  exec: Limit arg stack to at most 75% of _STK_LIM (2017-07-07 20:05:08 -0700)

are available in the git repository at:

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

for you to fetch changes up to 309e8cda596f6552a32dd14b969ce9b17f837f2f:

  gfs2: preserve i_mode if __gfs2_set_acl() fails (2017-08-31 07:53:15 -0500)


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.


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

Andreas Gruenbacher (10):
  gfs2: Lock holder cleanup (fixup)
  gfs2: Fixup to "Get 

GFS2: Pull request (merge window) addendum

2017-07-07 Thread Bob Peterson
Hi Linus,

Sorry for the additional merge request, but Andreas discovered this
problem soon after you processed our last gfs2 merge. This fixes a
regression introduced by a patch we did in mid-2015, so best to
get it fixed. It just re-adds code that had been there originally.

Please consider pulling the following additional patch for the GFS2 file system.

Regards,

Bob Peterson


The following changes since commit 9b51f04424e17051a89ab32d892ca66b2a104825:

  Merge branch 'parisc-4.13-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux (2017-07-05 
17:41:31 -0700)

are available in the git repository at:

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

for you to fetch changes up to 961ae1d83d055a4b9ebbfb4cc8ca62ec1a7a3b74:

  gfs2: Fix glock rhashtable rcu bug (2017-07-07 13:22:05 -0500)


This is a high-priority addendum patch for a regression
introduced by commit 88ffbf3e03. Some code was reverted that
should not have been. This patch from Andreas Gruenbacher adds
it back in.

gfs2: Fix glock rhashtable rcu bug


Andreas Gruenbacher (1):
  gfs2: Fix glock rhashtable rcu bug

 fs/gfs2/glock.c  | 11 +--
 fs/gfs2/incore.h |  1 +
 2 files changed, 10 insertions(+), 2 deletions(-)


GFS2: Pull request (merge window) addendum

2017-07-07 Thread Bob Peterson
Hi Linus,

Sorry for the additional merge request, but Andreas discovered this
problem soon after you processed our last gfs2 merge. This fixes a
regression introduced by a patch we did in mid-2015, so best to
get it fixed. It just re-adds code that had been there originally.

Please consider pulling the following additional patch for the GFS2 file system.

Regards,

Bob Peterson


The following changes since commit 9b51f04424e17051a89ab32d892ca66b2a104825:

  Merge branch 'parisc-4.13-2' of 
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux (2017-07-05 
17:41:31 -0700)

are available in the git repository at:

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

for you to fetch changes up to 961ae1d83d055a4b9ebbfb4cc8ca62ec1a7a3b74:

  gfs2: Fix glock rhashtable rcu bug (2017-07-07 13:22:05 -0500)


This is a high-priority addendum patch for a regression
introduced by commit 88ffbf3e03. Some code was reverted that
should not have been. This patch from Andreas Gruenbacher adds
it back in.

gfs2: Fix glock rhashtable rcu bug


Andreas Gruenbacher (1):
  gfs2: Fix glock rhashtable rcu bug

 fs/gfs2/glock.c  | 11 +--
 fs/gfs2/incore.h |  1 +
 2 files changed, 10 insertions(+), 2 deletions(-)


GFS2: Pull request (merge window)

2017-07-05 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 3ef2bc099d1cce09e2844467e2ced98e1a44609d:

  Merge tag 'devicetree-for-4.12' of 
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux (2017-05-05 19:33:07 
-0700)

are available in the git repository at:

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

for you to fetch changes up to 29695254ec51506d97b2a90ac27baabb438c70dd:

  GFS2: constify attribute_group structures. (2017-07-05 07:21:14 -0500)


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

1. Andreas Gruenbacher has four patches related to cleaning up the GFS2
   inode evict process. This is about half of his patches designed to
   fix a long-standing GFS2 hang related to the inode shrinker.
   (Shrinker calls gfs2 evict, evict calls DLM, DLM requires memory
   and blocks on the shrinker.) These 4 patches have been well tested.
   His second set of patches are still being tested, so I plan to hold
   them until the next merge window, after we have more weeks of testing.
   The first patch eliminates the flush_delayed_work, which can block.
2. Andreas's second patch protects setting of gl_object for rgrps with
   a spin_lock to prevent proven races.
3. His third patch introduces a centralized mechanism for queueing glock
   work with better reference counting, to prevent more races.
4. His fourth patch retains a reference to inode glocks when an error
   occurs while creating an inode. This keeps the subsequent evict from
   needing to reacquire the glock, which might call into DLM and block
   in low memory conditions.
5. Arvind Yadav has a patch to add const to attribute_group structures.
6. I have a patch to detect directory entry inconsistencies and withdraw
   the file system if any are found. Better that than silent corruption.
7. I have a patch to remove a vestigial variable from glock structures,
   saving some slab space.
8. I have another patch to remove a vestigial variable from the GFS2
   in-core superblock structure.


Andreas Gruenbacher (4):
  gfs2: Get rid of flush_delayed_work in gfs2_evict_inode
  gfs2: Protect gl->gl_object by spin lock
  gfs2: Clean up glock work enqueuing
  gfs2: gfs2_create_inode: Keep glock across iput

Arvind Yadav (1):
  GFS2: constify attribute_group structures.

Bob Peterson (3):
  GFS2: Withdraw when directory entry inconsistencies are detected
  GFS2: Remove gl_list from glock structure
  GFS2: Eliminate vestigial sd_log_flush_wrapped

 fs/gfs2/bmap.c   |   2 +-
 fs/gfs2/dir.c|   7 ++--
 fs/gfs2/glock.c  | 124 +--
 fs/gfs2/glock.h  |   7 
 fs/gfs2/glops.c  |  56 -
 fs/gfs2/incore.h |   5 ++-
 fs/gfs2/inode.c  |  19 +
 fs/gfs2/log.c|   3 --
 fs/gfs2/lops.c   |   6 +--
 fs/gfs2/main.c   |   1 -
 fs/gfs2/rgrp.c   |   6 +--
 fs/gfs2/super.c  |  33 +--
 fs/gfs2/sys.c|   4 +-
 fs/gfs2/xattr.c  |   4 +-
 14 files changed, 175 insertions(+), 102 deletions(-)


GFS2: Pull request (merge window)

2017-07-05 Thread Bob Peterson
Hi Linus,

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

Regards,

Bob Peterson

The following changes since commit 3ef2bc099d1cce09e2844467e2ced98e1a44609d:

  Merge tag 'devicetree-for-4.12' of 
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux (2017-05-05 19:33:07 
-0700)

are available in the git repository at:

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

for you to fetch changes up to 29695254ec51506d97b2a90ac27baabb438c70dd:

  GFS2: constify attribute_group structures. (2017-07-05 07:21:14 -0500)


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

1. Andreas Gruenbacher has four patches related to cleaning up the GFS2
   inode evict process. This is about half of his patches designed to
   fix a long-standing GFS2 hang related to the inode shrinker.
   (Shrinker calls gfs2 evict, evict calls DLM, DLM requires memory
   and blocks on the shrinker.) These 4 patches have been well tested.
   His second set of patches are still being tested, so I plan to hold
   them until the next merge window, after we have more weeks of testing.
   The first patch eliminates the flush_delayed_work, which can block.
2. Andreas's second patch protects setting of gl_object for rgrps with
   a spin_lock to prevent proven races.
3. His third patch introduces a centralized mechanism for queueing glock
   work with better reference counting, to prevent more races.
4. His fourth patch retains a reference to inode glocks when an error
   occurs while creating an inode. This keeps the subsequent evict from
   needing to reacquire the glock, which might call into DLM and block
   in low memory conditions.
5. Arvind Yadav has a patch to add const to attribute_group structures.
6. I have a patch to detect directory entry inconsistencies and withdraw
   the file system if any are found. Better that than silent corruption.
7. I have a patch to remove a vestigial variable from glock structures,
   saving some slab space.
8. I have another patch to remove a vestigial variable from the GFS2
   in-core superblock structure.


Andreas Gruenbacher (4):
  gfs2: Get rid of flush_delayed_work in gfs2_evict_inode
  gfs2: Protect gl->gl_object by spin lock
  gfs2: Clean up glock work enqueuing
  gfs2: gfs2_create_inode: Keep glock across iput

Arvind Yadav (1):
  GFS2: constify attribute_group structures.

Bob Peterson (3):
  GFS2: Withdraw when directory entry inconsistencies are detected
  GFS2: Remove gl_list from glock structure
  GFS2: Eliminate vestigial sd_log_flush_wrapped

 fs/gfs2/bmap.c   |   2 +-
 fs/gfs2/dir.c|   7 ++--
 fs/gfs2/glock.c  | 124 +--
 fs/gfs2/glock.h  |   7 
 fs/gfs2/glops.c  |  56 -
 fs/gfs2/incore.h |   5 ++-
 fs/gfs2/inode.c  |  19 +
 fs/gfs2/log.c|   3 --
 fs/gfs2/lops.c   |   6 +--
 fs/gfs2/main.c   |   1 -
 fs/gfs2/rgrp.c   |   6 +--
 fs/gfs2/super.c  |  33 +--
 fs/gfs2/sys.c|   4 +-
 fs/gfs2/xattr.c  |   4 +-
 14 files changed, 175 insertions(+), 102 deletions(-)


Re: GFS2: Pull request (merge window)

2017-05-05 Thread Linus Torvalds
On Fri, May 5, 2017 at 1:28 PM, Bob Peterson  wrote:
>
> I asked around, but nobody could tell me what went wrong. Strangely,
> this command:
>
> git log --oneline --right-only origin/master...FETCH_HEAD --stat
>
> doesn't show this, but this one does:
>
> git diff --stat --right-only origin/master...FETCH_HEAD

So the fundamental difference between "git log" and "git diff" is that
one is a "ser operation" on the commits in question, and the other is
fundamentally a "operation between two endpoints".

And that's why "git log" will always show the "right" thing - because
even in the presense of complex history, there's no ambiguity about
which commits are part of the new set, and which are in the old set.
So "git log" just does a set difference, and shows the commits in one
set but not the other.

But "git diff", because it is fundamentally about two particular
points in history, can have a hard time once you have complex history:
what are the two points?

In particular, what "git diff origin/master...FETCH_HEAD" means is really:

 - find the common point (git calls it "merge base" because the common
point is also used for merging) between the two commits (origin/master
and FETCH_HEAD)

 - do the diff from that common point to the end result (FETCH_HEAD)

and for linear history that is all very obvious and unambiguous.

But once you have non-linear history, and particularly once you have
back-merges (ie you're not just merging work that is uniquely your own
from multiple of your *own* branches, but you're also doing merges of
upstream code), the notion of that "common case" is no longer
unambiguous. There is not necessarily any *one* common base, there can
be multiple points in history that are common between the two
branches, but are distinct points of history (ie one is not an
ancestor of another).

And since a diff is fundamentally about just two end-points ("what are
the differences between these two points in the history"), "git diff"
fundamentally cannot handle that case without help.

So "git diff" will pick the first of the merge bases it finds, and
just use that. Which even in the presense of more complex history will
often work by luck, but more often just means that you'll see
differences that aren't all from your tree, but some of them came from
the *other* common point(s).

For example, after doing the pull, I can then do:

git merge-base --all HEAD^ HEAD^2

to see the merge bases of the merge in HEAD. In this case, because of
your back-merge, there's two of them (with more complex history, there
can be more still):

  f9fe1c12d126 rhashtable: Add rhashtable_lookup_get_insert_fast
  69eea5a4ab9c Merge branch 'for-linus' of git://git.kernel.dk/linux-block

and because "git diff" will just pick the first one, you will
basically have done

git diff f9fe1c12d126..FETCH_HEAD

and if you then look at the *set* of changes (with "git log" of that
range), you'll see why that diff also ends up containing those block
changes (because they came on from that other merge base: commit
69eea5a4ab9c that had that linux-block merge).

Now, doing a *merge* in git will take _all_ of those merge bases into
account, and do something *much* more complicated than just a two-way
diff. It will internally first create a single merge base (by
recursively merging up all the other merge bases into a new internal
commit), and then using that single merge base it will then do a
normal three-way merge of the two branches.

"git diff' doesn't do that kind of complicated operation, and although
it *could* do that merge base recursive merging dance, the problem
would be what to do about conflicts (which "git merge" obviously can
also have, but with git merge you have that whole manual conflict
resolution case).

So once you have complex history that isn't just about merging your
own local changes from other local branches, you'll start hitting this
situation.

Visualizing the history with "gitk" for those cases is often a great
way to see why there's no single point that can be diffed against.

But once you *do* have that kind of complex history, you're also
expected to have the expertise to handle it:

> So I created a temporary local branch and used git merge to
> generate a correct diffstat.

That's the correct thing to do. Hopefully the above explains *why*
it's the correct thing to do.

(Although to be honest, I also am pretty used to parsing the wrong
diffs, and people sometimes just send me the garbage diffstat and say
"I don't know what happened", and I'll figure it out and can still
validate that the garbage diffstat they sent me is what I too get if I
do just a silly "git diff" without taking merge bases into account).

   Linus


Re: GFS2: Pull request (merge window)

2017-05-05 Thread Linus Torvalds
On Fri, May 5, 2017 at 1:28 PM, Bob Peterson  wrote:
>
> I asked around, but nobody could tell me what went wrong. Strangely,
> this command:
>
> git log --oneline --right-only origin/master...FETCH_HEAD --stat
>
> doesn't show this, but this one does:
>
> git diff --stat --right-only origin/master...FETCH_HEAD

So the fundamental difference between "git log" and "git diff" is that
one is a "ser operation" on the commits in question, and the other is
fundamentally a "operation between two endpoints".

And that's why "git log" will always show the "right" thing - because
even in the presense of complex history, there's no ambiguity about
which commits are part of the new set, and which are in the old set.
So "git log" just does a set difference, and shows the commits in one
set but not the other.

But "git diff", because it is fundamentally about two particular
points in history, can have a hard time once you have complex history:
what are the two points?

In particular, what "git diff origin/master...FETCH_HEAD" means is really:

 - find the common point (git calls it "merge base" because the common
point is also used for merging) between the two commits (origin/master
and FETCH_HEAD)

 - do the diff from that common point to the end result (FETCH_HEAD)

and for linear history that is all very obvious and unambiguous.

But once you have non-linear history, and particularly once you have
back-merges (ie you're not just merging work that is uniquely your own
from multiple of your *own* branches, but you're also doing merges of
upstream code), the notion of that "common case" is no longer
unambiguous. There is not necessarily any *one* common base, there can
be multiple points in history that are common between the two
branches, but are distinct points of history (ie one is not an
ancestor of another).

And since a diff is fundamentally about just two end-points ("what are
the differences between these two points in the history"), "git diff"
fundamentally cannot handle that case without help.

So "git diff" will pick the first of the merge bases it finds, and
just use that. Which even in the presense of more complex history will
often work by luck, but more often just means that you'll see
differences that aren't all from your tree, but some of them came from
the *other* common point(s).

For example, after doing the pull, I can then do:

git merge-base --all HEAD^ HEAD^2

to see the merge bases of the merge in HEAD. In this case, because of
your back-merge, there's two of them (with more complex history, there
can be more still):

  f9fe1c12d126 rhashtable: Add rhashtable_lookup_get_insert_fast
  69eea5a4ab9c Merge branch 'for-linus' of git://git.kernel.dk/linux-block

and because "git diff" will just pick the first one, you will
basically have done

git diff f9fe1c12d126..FETCH_HEAD

and if you then look at the *set* of changes (with "git log" of that
range), you'll see why that diff also ends up containing those block
changes (because they came on from that other merge base: commit
69eea5a4ab9c that had that linux-block merge).

Now, doing a *merge* in git will take _all_ of those merge bases into
account, and do something *much* more complicated than just a two-way
diff. It will internally first create a single merge base (by
recursively merging up all the other merge bases into a new internal
commit), and then using that single merge base it will then do a
normal three-way merge of the two branches.

"git diff' doesn't do that kind of complicated operation, and although
it *could* do that merge base recursive merging dance, the problem
would be what to do about conflicts (which "git merge" obviously can
also have, but with git merge you have that whole manual conflict
resolution case).

So once you have complex history that isn't just about merging your
own local changes from other local branches, you'll start hitting this
situation.

Visualizing the history with "gitk" for those cases is often a great
way to see why there's no single point that can be diffed against.

But once you *do* have that kind of complex history, you're also
expected to have the expertise to handle it:

> So I created a temporary local branch and used git merge to
> generate a correct diffstat.

That's the correct thing to do. Hopefully the above explains *why*
it's the correct thing to do.

(Although to be honest, I also am pretty used to parsing the wrong
diffs, and people sometimes just send me the garbage diffstat and say
"I don't know what happened", and I'll figure it out and can still
validate that the garbage diffstat they sent me is what I too get if I
do just a silly "git diff" without taking merge bases into account).

   Linus


GFS2: Pull request (merge window)

2017-05-05 Thread Bob Peterson
Hi Linus,

Please disregard my previous pull request and
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 have a merge commit
in our GFS2 for-next branch. After you pulled that patch, I encountered
a strange 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

doesn't show this, but this one does:

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 how to do it better for
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 ed17545d01e4a40086f1622c88ce64cc0241cfc2:

  GFS2: Allow glocks to be unlocked after withdraw (2017-05-05 14:19:28 -0500)


We've got ten GFS2 patches for this merge window (plus one merge commit).

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.
10. Due to a regression found during testing, I added a new
patch to correct "GFS2: Prevent BUG from occurring when
normal Withdraws occur".


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 (5):
  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
  GFS2: Allow glocks to be unlocked after withdraw

 fs/gfs2/bmap.c   | 741 
+++
 fs/gfs2/file.c   |   6 +-
 fs/gfs2/glock.c  |  81 -
 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, 518 insertions(+), 347 deletions(-)


GFS2: Pull request (merge window)

2017-05-05 Thread Bob Peterson
Hi Linus,

Please disregard my previous pull request and
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 have a merge commit
in our GFS2 for-next branch. After you pulled that patch, I encountered
a strange 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

doesn't show this, but this one does:

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 how to do it better for
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 ed17545d01e4a40086f1622c88ce64cc0241cfc2:

  GFS2: Allow glocks to be unlocked after withdraw (2017-05-05 14:19:28 -0500)


We've got ten GFS2 patches for this merge window (plus one merge commit).

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.
10. Due to a regression found during testing, I added a new
patch to correct "GFS2: Prevent BUG from occurring when
normal Withdraws occur".


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 (5):
  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
  GFS2: Allow glocks to be unlocked after withdraw

 fs/gfs2/bmap.c   | 741 
+++
 fs/gfs2/file.c   |   6 +-
 fs/gfs2/glock.c  |  81 -
 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, 518 insertions(+), 347 deletions(-)


GFS2: Pull request (merge window)

2017-05-03 Thread Bob Peterson
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(-)


GFS2: Pull request (merge window)

2017-05-03 Thread Bob Peterson
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(-)


GFS2: Pull request (merge window) addendum

2017-02-23 Thread Bob Peterson
Hi Linus,

Please consider pulling the following additional patch for the GFS2 file system.

Sorry for the lack of bake time on this one, but it is high priority, simple, 
and has been well tested.

Bob Peterson


The following changes since commit c548a1c175608e268f6495f3f82461303584d1c9:

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

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-4.11.addendum

for you to fetch changes up to f38e5fb95a1f8feda88531eedc98f69b24748712:

  gfs2: Add missing rcu locking for glock   lookup (2017-02-23 10:06:00 
-0500)


This is an addendum for the 4.11 merge window.

Andy Price wrote this patch to close a nasty race condition
that allows access to glocks that are being destroyed. Without
this patch, GFS2 is vulnerable to random corruption and kernel
panic.


Andrew Price (1):
  gfs2: Add missing rcu locking for glock   lookup

 fs/gfs2/glock.c | 5 +
 1 file changed, 5 insertions(+)


GFS2: Pull request (merge window) addendum

2017-02-23 Thread Bob Peterson
Hi Linus,

Please consider pulling the following additional patch for the GFS2 file system.

Sorry for the lack of bake time on this one, but it is high priority, simple, 
and has been well tested.

Bob Peterson


The following changes since commit c548a1c175608e268f6495f3f82461303584d1c9:

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

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-4.11.addendum

for you to fetch changes up to f38e5fb95a1f8feda88531eedc98f69b24748712:

  gfs2: Add missing rcu locking for glock   lookup (2017-02-23 10:06:00 
-0500)


This is an addendum for the 4.11 merge window.

Andy Price wrote this patch to close a nasty race condition
that allows access to glocks that are being destroyed. Without
this patch, GFS2 is vulnerable to random corruption and kernel
panic.


Andrew Price (1):
  gfs2: Add missing rcu locking for glock   lookup

 fs/gfs2/glock.c | 5 +
 1 file changed, 5 insertions(+)


GFS2: Pull request (merge window)

2017-02-21 Thread Bob Peterson
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://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 
(2016-10-04 14:48:27 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.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(-)


GFS2: Pull request (merge window)

2017-02-21 Thread Bob Peterson
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://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 
(2016-10-04 14:48:27 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.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(-)


GFS2: Pull request (merge window)

2016-10-03 Thread Bob Peterson
(Resending to lkml (only) because my cc was malformed)
Hi Linus,

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

Bob Peterson


The following changes since commit 731c7d3a205ba89b475b2aa71b5f13dd6ae3de56:

  Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux 
(2016-08-01 21:44:08 -0400)

are available in the git repository at:

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

for you to fetch changes up to 332f51d7db13ffb7fcbe2407ed5b3667bc3750a7:

  gfs2: Initialize atime of I_NEW inodes (2016-09-26 13:24:34 -0500)


We've only got six GFS2 patches for this merge window. In patch order:

1. Fabian Frederick submitted a nice cleanup that uses the BIT macro
   rather than bit shifting.
2. Andreas Gruenbacher contributed a patch that fixes a long-standing
   annoyance whereby GFS2 warned about dirty pages.
3. Andreas also fixed a problem with the recent extended attribute
   readahead feature.
4. Chao Yu contributed a patch that checks the return code from function
   register_shrinker and reacts accordingly. Previously, it was not checked.
5. Andreas Gruenbacher also fixed a problem whereby incore file timestamps
   were forgotten if the file was invalidated. This merely moves the
   assignment inside the inode glock where it belongs.
6. He also fixed a problem where incore timestamps were not initialized.


Andreas Gruenbacher (4):
  gfs2: Remove dirty buffer warning from gfs2_releasepage
  gfs2: Fix extended attribute readahead optimization
  gfs2: Update file times after grabbing glock
  gfs2: Initialize atime of I_NEW inodes

Chao Yu (1):
  gfs2: fix to detect failure of register_shrinker

Fabian Frederick (1):
  GFS2: use BIT() macro

 fs/gfs2/aops.c   | 19 +--
 fs/gfs2/bmap.c   |  6 +++---
 fs/gfs2/dir.c| 20 ++--
 fs/gfs2/file.c   |  6 +++---
 fs/gfs2/glock.c  | 10 --
 fs/gfs2/inode.c  |  4 
 fs/gfs2/inode.h  |  2 +-
 fs/gfs2/main.c   |  4 +++-
 fs/gfs2/meta_io.c| 35 +++
 fs/gfs2/ops_fstype.c |  8 
 fs/gfs2/quota.c  |  4 ++--
 fs/gfs2/super.c  |  2 +-
 12 files changed, 71 insertions(+), 49 deletions(-)


GFS2: Pull request (merge window)

2016-10-03 Thread Bob Peterson
(Resending to lkml (only) because my cc was malformed)
Hi Linus,

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

Bob Peterson


The following changes since commit 731c7d3a205ba89b475b2aa71b5f13dd6ae3de56:

  Merge tag 'drm-for-v4.8' of git://people.freedesktop.org/~airlied/linux 
(2016-08-01 21:44:08 -0400)

are available in the git repository at:

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

for you to fetch changes up to 332f51d7db13ffb7fcbe2407ed5b3667bc3750a7:

  gfs2: Initialize atime of I_NEW inodes (2016-09-26 13:24:34 -0500)


We've only got six GFS2 patches for this merge window. In patch order:

1. Fabian Frederick submitted a nice cleanup that uses the BIT macro
   rather than bit shifting.
2. Andreas Gruenbacher contributed a patch that fixes a long-standing
   annoyance whereby GFS2 warned about dirty pages.
3. Andreas also fixed a problem with the recent extended attribute
   readahead feature.
4. Chao Yu contributed a patch that checks the return code from function
   register_shrinker and reacts accordingly. Previously, it was not checked.
5. Andreas Gruenbacher also fixed a problem whereby incore file timestamps
   were forgotten if the file was invalidated. This merely moves the
   assignment inside the inode glock where it belongs.
6. He also fixed a problem where incore timestamps were not initialized.


Andreas Gruenbacher (4):
  gfs2: Remove dirty buffer warning from gfs2_releasepage
  gfs2: Fix extended attribute readahead optimization
  gfs2: Update file times after grabbing glock
  gfs2: Initialize atime of I_NEW inodes

Chao Yu (1):
  gfs2: fix to detect failure of register_shrinker

Fabian Frederick (1):
  GFS2: use BIT() macro

 fs/gfs2/aops.c   | 19 +--
 fs/gfs2/bmap.c   |  6 +++---
 fs/gfs2/dir.c| 20 ++--
 fs/gfs2/file.c   |  6 +++---
 fs/gfs2/glock.c  | 10 --
 fs/gfs2/inode.c  |  4 
 fs/gfs2/inode.h  |  2 +-
 fs/gfs2/main.c   |  4 +++-
 fs/gfs2/meta_io.c| 35 +++
 fs/gfs2/ops_fstype.c |  8 
 fs/gfs2/quota.c  |  4 ++--
 fs/gfs2/super.c  |  2 +-
 12 files changed, 71 insertions(+), 49 deletions(-)


GFS2: Pull request (merge window)

2016-07-22 Thread Bob Peterson
Hi Linus,

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

Since I'll be on vacation / holiday all next week, I'm doing the merge
window processing for GFS2 early this time, before the merge window has
been officially opened: I'd rather post the patches a little early than
delay it until I return, then be late and have you be unhappy with me
as a maintainer.

Also, I apologize that the last patch, "GFS2: Fix gfs2_replay_incr_blk
for multiple journal sizes" hasn't had much bake time. The patch is
straightforward, reviewed, and well tested with a reliable recreation
scenario. Since the bug prevents users from mounting their GFS2 file
system, I wanted to get it in as soon as possible. I felt that the need
outweighed other concerns.

Since I'll be on vacation next week, Andreas Gruenbacher can make changes
to the linux-gfs2 repo if need be.

Bob Peterson


The following changes since commit 29567292c0b5b2fb484125c280a2175141fe2205:

  Merge tag 'for-linus-4.7-rc0-tag' of 
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip (2016-05-24 10:22:34 
-0700)

are available in the git repository at:

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

for you to fetch changes up to e1cb6be9e142e6cc6246f3ab2776b4d7a2b3d9f0:

  GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes (2016-07-21 
13:02:44 -0500)


We've got ten patches this time, half of which are related to a plethora
of nasty outcomes when inodes are transitioned from the unlinked state
to the free state. Small file systems are particularly vulnerable to these
problems, and it can manifest as mainly hangs, but also file system
corruption. The patches have been tested for literally many weeks, with a
very gruelling test, so I have a high level of confidence.

- Andreas Gruenbacher wrote a series of 5 patches for various lockups
  during the transition of inodes from unlinked to free. The main patch
  is titled "Fix gfs2_lookup_by_inum lock inversion" and the other 4 are
  support and cleanup patches related to that.
- Ben Marzinski contributed 2 patches with regard to a recreatable
  problem when gfs2 tries to write a page to a file that is being
  truncated, resulting in a BUG() in gfs2_remove_from_journal.
  Note that Ben had to export vfs function __block_write_full_page to get
  this to work properly. It's been posted a long time and he talked to
  various VFS people about it, and nobody seemed to mind.
- I contributed 3 patches. (1) The first one fixes a memory corruptor:
  a race in which one process can overwrite the gl_object pointer set by
  another process, causing kernel panic and other symptoms. (2) The second
  patch fixes another race that resulted in a false-positive BUG_ON. This
  occurred when resource group reservations were freed by one process
  while another process was trying to grab a new reservation in the same
  resource group. (3) The third patch fixes a problem with doing journal
  replay when the journals are not all the same size.


Andreas Gruenbacher (5):
  gfs2: Initialize iopen glock holder for new inodes
  gfs2: Fix gfs2_lookup_by_inum lock inversion
  gfs2: Get rid of gfs2_ilookup
  gfs2: Large-filesystem fix for 32-bit systems
  gfs2: Lock holder cleanup

Benjamin Marzinski (2):
  fs: export __block_write_full_page
  gfs2: writeout truncated pages

Bob Peterson (3):
  GFS2: don't set rgrp gl_object until it's inserted into rgrp tree
  GFS2: Check rs_free with rd_rsspin protection
  GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes

 fs/buffer.c |   3 +-
 fs/gfs2/aops.c  |  49 +++--
 fs/gfs2/dentry.c|   2 +-
 fs/gfs2/dir.c   |   3 +-
 fs/gfs2/export.c|  11 
 fs/gfs2/file.c  |   2 +-
 fs/gfs2/glock.c |  11 +---
 fs/gfs2/glock.h |  10 
 fs/gfs2/inode.c | 128 +---
 fs/gfs2/inode.h |   4 +-
 fs/gfs2/lops.c  |  11 ++--
 fs/gfs2/main.c  |   1 +
 fs/gfs2/ops_fstype.c|   3 +-
 fs/gfs2/quota.c |   2 +-
 fs/gfs2/recovery.c  |   6 +--
 fs/gfs2/recovery.h  |   4 +-
 fs/gfs2/rgrp.c  |  21 
 fs/gfs2/super.c |  24 +
 include/linux/buffer_head.h |   3 ++
 19 files changed, 182 insertions(+), 116 deletions(-)


GFS2: Pull request (merge window)

2016-07-22 Thread Bob Peterson
Hi Linus,

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

Since I'll be on vacation / holiday all next week, I'm doing the merge
window processing for GFS2 early this time, before the merge window has
been officially opened: I'd rather post the patches a little early than
delay it until I return, then be late and have you be unhappy with me
as a maintainer.

Also, I apologize that the last patch, "GFS2: Fix gfs2_replay_incr_blk
for multiple journal sizes" hasn't had much bake time. The patch is
straightforward, reviewed, and well tested with a reliable recreation
scenario. Since the bug prevents users from mounting their GFS2 file
system, I wanted to get it in as soon as possible. I felt that the need
outweighed other concerns.

Since I'll be on vacation next week, Andreas Gruenbacher can make changes
to the linux-gfs2 repo if need be.

Bob Peterson


The following changes since commit 29567292c0b5b2fb484125c280a2175141fe2205:

  Merge tag 'for-linus-4.7-rc0-tag' of 
git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip (2016-05-24 10:22:34 
-0700)

are available in the git repository at:

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

for you to fetch changes up to e1cb6be9e142e6cc6246f3ab2776b4d7a2b3d9f0:

  GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes (2016-07-21 
13:02:44 -0500)


We've got ten patches this time, half of which are related to a plethora
of nasty outcomes when inodes are transitioned from the unlinked state
to the free state. Small file systems are particularly vulnerable to these
problems, and it can manifest as mainly hangs, but also file system
corruption. The patches have been tested for literally many weeks, with a
very gruelling test, so I have a high level of confidence.

- Andreas Gruenbacher wrote a series of 5 patches for various lockups
  during the transition of inodes from unlinked to free. The main patch
  is titled "Fix gfs2_lookup_by_inum lock inversion" and the other 4 are
  support and cleanup patches related to that.
- Ben Marzinski contributed 2 patches with regard to a recreatable
  problem when gfs2 tries to write a page to a file that is being
  truncated, resulting in a BUG() in gfs2_remove_from_journal.
  Note that Ben had to export vfs function __block_write_full_page to get
  this to work properly. It's been posted a long time and he talked to
  various VFS people about it, and nobody seemed to mind.
- I contributed 3 patches. (1) The first one fixes a memory corruptor:
  a race in which one process can overwrite the gl_object pointer set by
  another process, causing kernel panic and other symptoms. (2) The second
  patch fixes another race that resulted in a false-positive BUG_ON. This
  occurred when resource group reservations were freed by one process
  while another process was trying to grab a new reservation in the same
  resource group. (3) The third patch fixes a problem with doing journal
  replay when the journals are not all the same size.


Andreas Gruenbacher (5):
  gfs2: Initialize iopen glock holder for new inodes
  gfs2: Fix gfs2_lookup_by_inum lock inversion
  gfs2: Get rid of gfs2_ilookup
  gfs2: Large-filesystem fix for 32-bit systems
  gfs2: Lock holder cleanup

Benjamin Marzinski (2):
  fs: export __block_write_full_page
  gfs2: writeout truncated pages

Bob Peterson (3):
  GFS2: don't set rgrp gl_object until it's inserted into rgrp tree
  GFS2: Check rs_free with rd_rsspin protection
  GFS2: Fix gfs2_replay_incr_blk for multiple journal sizes

 fs/buffer.c |   3 +-
 fs/gfs2/aops.c  |  49 +++--
 fs/gfs2/dentry.c|   2 +-
 fs/gfs2/dir.c   |   3 +-
 fs/gfs2/export.c|  11 
 fs/gfs2/file.c  |   2 +-
 fs/gfs2/glock.c |  11 +---
 fs/gfs2/glock.h |  10 
 fs/gfs2/inode.c | 128 +---
 fs/gfs2/inode.h |   4 +-
 fs/gfs2/lops.c  |  11 ++--
 fs/gfs2/main.c  |   1 +
 fs/gfs2/ops_fstype.c|   3 +-
 fs/gfs2/quota.c |   2 +-
 fs/gfs2/recovery.c  |   6 +--
 fs/gfs2/recovery.h  |   4 +-
 fs/gfs2/rgrp.c  |  21 
 fs/gfs2/super.c |  24 +
 include/linux/buffer_head.h |   3 ++
 19 files changed, 182 insertions(+), 116 deletions(-)


GFS2: Pull request (merge window)

2016-05-20 Thread Bob Peterson
Hi,

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

Bob Peterson


The following changes since commit 9dffdb38d864ae89e16ff7b3a09451270736e35b:

  Merge tag 'staging-4.6-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging (2016-03-17 
22:13:41 -0700)

are available in the git repository at:

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

for you to fetch changes up to 68cd4ce2caf22a81833eb1abfa075eb1cc39bfe2:

  GFS2: Refactor gfs2_remove_from_journal (2016-05-06 11:27:27 -0500)


GFS2: merge window

We've got nine patches this time:

- Abhi Das has two patches that fix a GFS2 splice issue (and an adjustment).
- Ben Marzinski has a patch which allows the proper unmount of a GFS2
  file system after hitting a withdraw error.
- I have a patch to fix a problem where GFS2 would dereference an error
  value, plus three cosmetic / refactoring patches.
- Daniel DeFreez has a patch to fix two glock reference count problems,
  where GFS2 was not properly "uninitializing" its glock holder on error
  paths.
- Denys Vlasenko has a patch to change a function to not be inlined,
  thus reducing the memory footprint of the GFS2 module.


Abhi Das (2):
  gfs2: Use gfs2 wrapper to sync inode before calling 
generic_file_splice_read()
  gfs2: use inode_lock/unlock instead of accessing i_mutex directly

Benjamin Marzinski (1):
  GFS2: ignore unlock failures after withdraw

Bob Peterson (4):
  GFS2: Get rid of dead code in inode_go_demote_ok
  GFS2: Don't dereference inode in gfs2_inode_lookup until it's valid
  GFS2: Remove allocation parms from gfs2_rbm_find
  GFS2: Refactor gfs2_remove_from_journal

Daniel DeFreez (1):
  GFS2: Add calls to gfs2_holder_uninit in two error handlers

Denys Vlasenko (1):
  GFS2: fs/gfs2/glock.c: Deinline do_error, save 1856 bytes

 fs/gfs2/aops.c|  5 +++--
 fs/gfs2/file.c| 31 ---
 fs/gfs2/glock.c   | 11 +--
 fs/gfs2/glops.c   |  7 ---
 fs/gfs2/inode.c   |  6 +++---
 fs/gfs2/meta_io.c |  7 ---
 fs/gfs2/meta_io.h |  8 ++--
 fs/gfs2/rgrp.c| 16 ++--
 fs/gfs2/util.c|  1 +
 9 files changed, 60 insertions(+), 32 deletions(-)


GFS2: Pull request (merge window)

2016-05-20 Thread Bob Peterson
Hi,

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

Bob Peterson


The following changes since commit 9dffdb38d864ae89e16ff7b3a09451270736e35b:

  Merge tag 'staging-4.6-rc1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging (2016-03-17 
22:13:41 -0700)

are available in the git repository at:

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

for you to fetch changes up to 68cd4ce2caf22a81833eb1abfa075eb1cc39bfe2:

  GFS2: Refactor gfs2_remove_from_journal (2016-05-06 11:27:27 -0500)


GFS2: merge window

We've got nine patches this time:

- Abhi Das has two patches that fix a GFS2 splice issue (and an adjustment).
- Ben Marzinski has a patch which allows the proper unmount of a GFS2
  file system after hitting a withdraw error.
- I have a patch to fix a problem where GFS2 would dereference an error
  value, plus three cosmetic / refactoring patches.
- Daniel DeFreez has a patch to fix two glock reference count problems,
  where GFS2 was not properly "uninitializing" its glock holder on error
  paths.
- Denys Vlasenko has a patch to change a function to not be inlined,
  thus reducing the memory footprint of the GFS2 module.


Abhi Das (2):
  gfs2: Use gfs2 wrapper to sync inode before calling 
generic_file_splice_read()
  gfs2: use inode_lock/unlock instead of accessing i_mutex directly

Benjamin Marzinski (1):
  GFS2: ignore unlock failures after withdraw

Bob Peterson (4):
  GFS2: Get rid of dead code in inode_go_demote_ok
  GFS2: Don't dereference inode in gfs2_inode_lookup until it's valid
  GFS2: Remove allocation parms from gfs2_rbm_find
  GFS2: Refactor gfs2_remove_from_journal

Daniel DeFreez (1):
  GFS2: Add calls to gfs2_holder_uninit in two error handlers

Denys Vlasenko (1):
  GFS2: fs/gfs2/glock.c: Deinline do_error, save 1856 bytes

 fs/gfs2/aops.c|  5 +++--
 fs/gfs2/file.c| 31 ---
 fs/gfs2/glock.c   | 11 +--
 fs/gfs2/glops.c   |  7 ---
 fs/gfs2/inode.c   |  6 +++---
 fs/gfs2/meta_io.c |  7 ---
 fs/gfs2/meta_io.h |  8 ++--
 fs/gfs2/rgrp.c| 16 ++--
 fs/gfs2/util.c|  1 +
 9 files changed, 60 insertions(+), 32 deletions(-)


GFS2: Pull request (merge window)

2016-03-19 Thread Bob Peterson
Hi,

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

Bob Peterson


The following changes since commit 67990608c8b95d2b8ccc29932376ae73d5818727:

  Merge tag 'pm+acpi-4.5-rc1-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2016-01-12 
20:25:09 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 73b462d2808d7cbca4d7886cf6aaed850640e6cd:

  GFS2: Eliminate parameter non_block on gfs2_inode_lookup (2016-03-15 10:46:50 
-0400)


GFS2: merge window

We only have six patches ready for this merge window.

- Arnd Bergmann contributed a patch that fixes an uninitialized variable
  warning.
- The second patch avoids a kernel panic due to referencing an iopen
  glock that may not be held, in an error path.
- The third patch fixes a rounding error that caused xfs_tests direct IO
  write "fsx" tests to fail on GFS2.
- The fourth patch tidies up the code path when glocks are being reused
  to recreate a dinode that was recently deleted.
- The fifth reverts an ages-old patch that should no longer be needed, and
  which interfered with the transition of dinodes from unlinked to free.
- And lastly, a patch to eliminate a function parameter that's not needed.


Arnd Bergmann (1):
  gfs2: avoid uninitialized variable warning

Bob Peterson (5):
  GFS2: Check if iopen is held when deleting inode
  GFS2: Fix direct IO write rounding error
  GFS2: Prevent delete work from occurring on glocks used for create
  GFS2: Don't filter out I_FREEING inodes anymore
  GFS2: Eliminate parameter non_block on gfs2_inode_lookup

 fs/gfs2/aops.c   |  2 +-
 fs/gfs2/dir.c|  6 ++---
 fs/gfs2/export.c |  2 +-
 fs/gfs2/glock.c  | 10 +++-
 fs/gfs2/incore.h |  1 +
 fs/gfs2/inode.c  | 71 +---
 fs/gfs2/inode.h  |  5 ++--
 fs/gfs2/ops_fstype.c |  2 +-
 fs/gfs2/super.c  | 26 +++
 9 files changed, 46 insertions(+), 79 deletions(-)


GFS2: Pull request (merge window)

2016-03-19 Thread Bob Peterson
Hi,

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

Bob Peterson


The following changes since commit 67990608c8b95d2b8ccc29932376ae73d5818727:

  Merge tag 'pm+acpi-4.5-rc1-1' of 
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm (2016-01-12 
20:25:09 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 73b462d2808d7cbca4d7886cf6aaed850640e6cd:

  GFS2: Eliminate parameter non_block on gfs2_inode_lookup (2016-03-15 10:46:50 
-0400)


GFS2: merge window

We only have six patches ready for this merge window.

- Arnd Bergmann contributed a patch that fixes an uninitialized variable
  warning.
- The second patch avoids a kernel panic due to referencing an iopen
  glock that may not be held, in an error path.
- The third patch fixes a rounding error that caused xfs_tests direct IO
  write "fsx" tests to fail on GFS2.
- The fourth patch tidies up the code path when glocks are being reused
  to recreate a dinode that was recently deleted.
- The fifth reverts an ages-old patch that should no longer be needed, and
  which interfered with the transition of dinodes from unlinked to free.
- And lastly, a patch to eliminate a function parameter that's not needed.


Arnd Bergmann (1):
  gfs2: avoid uninitialized variable warning

Bob Peterson (5):
  GFS2: Check if iopen is held when deleting inode
  GFS2: Fix direct IO write rounding error
  GFS2: Prevent delete work from occurring on glocks used for create
  GFS2: Don't filter out I_FREEING inodes anymore
  GFS2: Eliminate parameter non_block on gfs2_inode_lookup

 fs/gfs2/aops.c   |  2 +-
 fs/gfs2/dir.c|  6 ++---
 fs/gfs2/export.c |  2 +-
 fs/gfs2/glock.c  | 10 +++-
 fs/gfs2/incore.h |  1 +
 fs/gfs2/inode.c  | 71 +---
 fs/gfs2/inode.h  |  5 ++--
 fs/gfs2/ops_fstype.c |  2 +-
 fs/gfs2/super.c  | 26 +++
 9 files changed, 46 insertions(+), 79 deletions(-)


GFS2: Pull request (merge window)

2015-11-09 Thread Bob Peterson
Hi Linus,

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

I added patch #6 at the last minute, so it hasn't had a chance to make
it to linux-next yet, but it fixes a problem related to fs corruption
when block size != page size. I apologize, but I felt the seriousness
of the problem warranted an exception. It's proven to compile and been
tested against a reliable reproducer. 

Bob Peterson


The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:

  Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 319eb9ebae9a2a9b502750e9e481d752180a:

  GFS2: Fix rgrp end rounding problem for bsize < page size (2015-11-09 
09:38:02 -0600)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. There are only six patches this time:

1. A cleanup patch from Andreas to remove the gl_spin #define in favor
   of its value for the sake of clarity.
2. A fix from Andy Price to mark the inode dirty during fallocate.
3. A fix from Andy Price to set s_mode on mount failures to prevent
   a stack trace.
4. A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data
   due to uninitialized storage.
5. A patch from me to protecting our freeing of the in-core directory
   hash table to prevent double-free.
6. A fix for a page/block rounding problem that resulted in a metadata
   coherency problem when the block size != page size.

I've got a lot more patches in various stages of review and testing,
but I'm afraid they'll have to wait until the next merge window. So
next time we're likely to have a lot more.


Andreas Gruenbacher (1):
  gfs2: Remove gl_spin define

Andrew Price (2):
  GFS2: fallocate: do not rely on file_update_time to mark the inode dirty
  GFS2: Set s_mode before parsing mount options

Bob Peterson (3):
  gfs2: Add missing else in trans_add_meta/data
  GFS2: Protect freeing directory hash table with i_lock spin_lock
  GFS2: Fix rgrp end rounding problem for bsize < page size

 Documentation/filesystems/gfs2-glocks.txt |  6 +--
 fs/gfs2/dir.c |  7 ++-
 fs/gfs2/file.c|  2 +-
 fs/gfs2/glock.c   | 84 +++
 fs/gfs2/glock.h   |  4 +-
 fs/gfs2/glops.c   | 10 ++--
 fs/gfs2/incore.h  |  3 +-
 fs/gfs2/main.c|  2 +-
 fs/gfs2/ops_fstype.c  |  4 +-
 fs/gfs2/rgrp.c|  9 ++--
 fs/gfs2/trans.c   |  4 ++
 11 files changed, 73 insertions(+), 62 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-11-09 Thread Bob Peterson
Hi Linus,

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

I added patch #6 at the last minute, so it hasn't had a chance to make
it to linux-next yet, but it fixes a problem related to fs corruption
when block size != page size. I apologize, but I felt the seriousness
of the problem warranted an exception. It's proven to compile and been
tested against a reliable reproducer. 

Bob Peterson


The following changes since commit 6ff33f3902c3b1c5d0db6b1e2c70b6d76fba357f:

  Linux 4.3-rc1 (2015-09-12 16:35:56 -0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 319eb9ebae9a2a9b502750e9e481d752180a:

  GFS2: Fix rgrp end rounding problem for bsize < page size (2015-11-09 
09:38:02 -0600)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. There are only six patches this time:

1. A cleanup patch from Andreas to remove the gl_spin #define in favor
   of its value for the sake of clarity.
2. A fix from Andy Price to mark the inode dirty during fallocate.
3. A fix from Andy Price to set s_mode on mount failures to prevent
   a stack trace.
4. A patch from me to prevent a kernel BUG() in trans_add_meta/trans_add_data
   due to uninitialized storage.
5. A patch from me to protecting our freeing of the in-core directory
   hash table to prevent double-free.
6. A fix for a page/block rounding problem that resulted in a metadata
   coherency problem when the block size != page size.

I've got a lot more patches in various stages of review and testing,
but I'm afraid they'll have to wait until the next merge window. So
next time we're likely to have a lot more.


Andreas Gruenbacher (1):
  gfs2: Remove gl_spin define

Andrew Price (2):
  GFS2: fallocate: do not rely on file_update_time to mark the inode dirty
  GFS2: Set s_mode before parsing mount options

Bob Peterson (3):
  gfs2: Add missing else in trans_add_meta/data
  GFS2: Protect freeing directory hash table with i_lock spin_lock
  GFS2: Fix rgrp end rounding problem for bsize < page size

 Documentation/filesystems/gfs2-glocks.txt |  6 +--
 fs/gfs2/dir.c |  7 ++-
 fs/gfs2/file.c|  2 +-
 fs/gfs2/glock.c   | 84 +++
 fs/gfs2/glock.h   |  4 +-
 fs/gfs2/glops.c   | 10 ++--
 fs/gfs2/incore.h  |  3 +-
 fs/gfs2/main.c|  2 +-
 fs/gfs2/ops_fstype.c  |  4 +-
 fs/gfs2/rgrp.c|  9 ++--
 fs/gfs2/trans.c   |  4 ++
 11 files changed, 73 insertions(+), 62 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-09-10 Thread Bob Peterson
Hi,

Please consider pulling the following changes for the GFS2 file system.
I apologize for the late request, but as I explained in my previous email,
I wanted to make sure everything was done "the right way."

Bob Peterson


The following changes since commit c63f887bdae80858c7cebf914f45f69bbaa88e8d:

  Merge branch 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu (2015-06-28 
16:52:47 -0700)

are available in the git repository at:

  gitol...@gitolite.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 8f7e0a806db0a3ba33234af3c39d68ed8c144071:

  gfs2: A minor "sbstats" cleanup (2015-09-03 13:34:14 -0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. This time we've only got six patches, many of which are very 
small:

- Three cleanups from Andreas Gruenbacher, including a nice cleanup of
  the sequence file code for the sbstats debugfs file.
- A patch from Ben Hutchings that changes statistics variables from signed
  to unsigned.
- Two patches from me that increase GFS2's glock scalability by switching
  from a conventional hash table to rhashtable.


Andreas Gruenbacher (3):
  gfs2: Simplify the seq file code for "sbstats"
  gfs2: Fix a typo in a comment
  gfs2: A minor "sbstats" cleanup

Ben Hutchings (1):
  gfs2: Make statistics unsigned, suitable for use with do_div()

Bob Peterson (2):
  GFS2: Move glock superblock pointer to field gl_name
  GFS2: Use resizable hash table for glocks

 fs/gfs2/glock.c  | 348 ---
 fs/gfs2/glops.c  |  38 +++---
 fs/gfs2/incore.h |  15 +--
 fs/gfs2/lock_dlm.c   |  12 +-
 fs/gfs2/lops.c   |   6 +-
 fs/gfs2/meta_io.c|   6 +-
 fs/gfs2/meta_io.h|   2 +-
 fs/gfs2/quota.c  |  22 ++--
 fs/gfs2/rgrp.c   |  10 +-
 fs/gfs2/trace_gfs2.h |  34 ++---
 fs/gfs2/trans.c  |   4 +-
 11 files changed, 212 insertions(+), 285 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-09-10 Thread Bob Peterson
Hi,

Please consider pulling the following changes for the GFS2 file system.
I apologize for the late request, but as I explained in my previous email,
I wanted to make sure everything was done "the right way."

Bob Peterson


The following changes since commit c63f887bdae80858c7cebf914f45f69bbaa88e8d:

  Merge branch 'for-next' of 
git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu (2015-06-28 
16:52:47 -0700)

are available in the git repository at:

  gitol...@gitolite.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 8f7e0a806db0a3ba33234af3c39d68ed8c144071:

  gfs2: A minor "sbstats" cleanup (2015-09-03 13:34:14 -0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. This time we've only got six patches, many of which are very 
small:

- Three cleanups from Andreas Gruenbacher, including a nice cleanup of
  the sequence file code for the sbstats debugfs file.
- A patch from Ben Hutchings that changes statistics variables from signed
  to unsigned.
- Two patches from me that increase GFS2's glock scalability by switching
  from a conventional hash table to rhashtable.


Andreas Gruenbacher (3):
  gfs2: Simplify the seq file code for "sbstats"
  gfs2: Fix a typo in a comment
  gfs2: A minor "sbstats" cleanup

Ben Hutchings (1):
  gfs2: Make statistics unsigned, suitable for use with do_div()

Bob Peterson (2):
  GFS2: Move glock superblock pointer to field gl_name
  GFS2: Use resizable hash table for glocks

 fs/gfs2/glock.c  | 348 ---
 fs/gfs2/glops.c  |  38 +++---
 fs/gfs2/incore.h |  15 +--
 fs/gfs2/lock_dlm.c   |  12 +-
 fs/gfs2/lops.c   |   6 +-
 fs/gfs2/meta_io.c|   6 +-
 fs/gfs2/meta_io.h|   2 +-
 fs/gfs2/quota.c  |  22 ++--
 fs/gfs2/rgrp.c   |  10 +-
 fs/gfs2/trace_gfs2.h |  34 ++---
 fs/gfs2/trans.c  |   4 +-
 11 files changed, 212 insertions(+), 285 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-06-26 Thread Bob Peterson
Hi,

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

Regards,

Bob Peterson


The following changes since commit f4a3ae9308e34bcd704325a08879b2c1cfb74686:

  GFS2: Use average srttb value in congestion calculations (2015-04-24 07:57:08 
-0500)

are available in the git repository at:

  gitol...@gitolite.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 39b0f1e9290880a6c905f639e7db6b646e302a4f:

  GFS2: Don't brelse rgrp buffer_heads every allocation (2015-06-19 07:40:22 
-0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. We have a good mixture this time. Here are some of the features:

1. Fix a problem with RO mounts writing to the journal.
2. Further improvements to quotas on GFS2.
3. Added support for rename2 and RENAME_EXCHANGE on GFS2.
4. Increase performance by making glock lru_list less of a bottleneck.
5. Increase performance by avoiding unnecessary buffer_head releases.
6. Increase performance by using average glock round trip time from all CPUs.
7. Fixes for some compiler warnings and minor white space issues.
8. Other misc. bug fixes


Abhi Das (5):
  gfs2: handle NULL rgd in set_rgrp_preferences
  gfs2: fix quota updates on block boundaries
  gfs2: limit quota log messages
  gfs2: s64 cast for negative quota value
  gfs2: Don't support fallocate on jdatafiles

Antonio Ospite (1):
  GFS2: inode.c: indent with TABs, not spaces

Benjamin Marzinski (3):
  GFS2: mark the journal idle to fix ro mounts
  GFS2: add support for rename2 and RENAME_EXCHANGE
  GFS2: make sure S_NOSEC flag isn't overwritten

Bob Peterson (3):
  GFS2: Average in only non-zero round-trip times for congestion stats
  GFS2: Don't add all glocks to the lru
  GFS2: Don't brelse rgrp buffer_heads every allocation

Fabian Frederick (3):
  gfs2: convert simple_str to kstr
  gfs2: kerneldoc warning fixes
  gfs2: fix shadow warning in gfs2_rbm_find()

 fs/gfs2/aops.c   |  12 ++-
 fs/gfs2/file.c   |   4 +-
 fs/gfs2/glock.c  |   3 +-
 fs/gfs2/glops.c  |  20 +++--
 fs/gfs2/incore.h |   2 +
 fs/gfs2/inode.c  | 211 +-
 fs/gfs2/ops_fstype.c |   1 +
 fs/gfs2/quota.c  | 212 +++
 fs/gfs2/rgrp.c   |  41 +++---
 fs/gfs2/rgrp.h   |   1 +
 fs/gfs2/sys.c|  66 +++-
 11 files changed, 429 insertions(+), 144 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-06-26 Thread Bob Peterson
Hi,

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

Regards,

Bob Peterson


The following changes since commit f4a3ae9308e34bcd704325a08879b2c1cfb74686:

  GFS2: Use average srttb value in congestion calculations (2015-04-24 07:57:08 
-0500)

are available in the git repository at:

  gitol...@gitolite.kernel.org:/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 39b0f1e9290880a6c905f639e7db6b646e302a4f:

  GFS2: Don't brelse rgrp buffer_heads every allocation (2015-06-19 07:40:22 
-0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. We have a good mixture this time. Here are some of the features:

1. Fix a problem with RO mounts writing to the journal.
2. Further improvements to quotas on GFS2.
3. Added support for rename2 and RENAME_EXCHANGE on GFS2.
4. Increase performance by making glock lru_list less of a bottleneck.
5. Increase performance by avoiding unnecessary buffer_head releases.
6. Increase performance by using average glock round trip time from all CPUs.
7. Fixes for some compiler warnings and minor white space issues.
8. Other misc. bug fixes


Abhi Das (5):
  gfs2: handle NULL rgd in set_rgrp_preferences
  gfs2: fix quota updates on block boundaries
  gfs2: limit quota log messages
  gfs2: s64 cast for negative quota value
  gfs2: Don't support fallocate on jdatafiles

Antonio Ospite (1):
  GFS2: inode.c: indent with TABs, not spaces

Benjamin Marzinski (3):
  GFS2: mark the journal idle to fix ro mounts
  GFS2: add support for rename2 and RENAME_EXCHANGE
  GFS2: make sure S_NOSEC flag isn't overwritten

Bob Peterson (3):
  GFS2: Average in only non-zero round-trip times for congestion stats
  GFS2: Don't add all glocks to the lru
  GFS2: Don't brelse rgrp buffer_heads every allocation

Fabian Frederick (3):
  gfs2: convert simple_str to kstr
  gfs2: kerneldoc warning fixes
  gfs2: fix shadow warning in gfs2_rbm_find()

 fs/gfs2/aops.c   |  12 ++-
 fs/gfs2/file.c   |   4 +-
 fs/gfs2/glock.c  |   3 +-
 fs/gfs2/glops.c  |  20 +++--
 fs/gfs2/incore.h |   2 +
 fs/gfs2/inode.c  | 211 +-
 fs/gfs2/ops_fstype.c |   1 +
 fs/gfs2/quota.c  | 212 +++
 fs/gfs2/rgrp.c   |  41 +++---
 fs/gfs2/rgrp.h   |   1 +
 fs/gfs2/sys.c|  66 +++-
 11 files changed, 429 insertions(+), 144 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-15 Thread Bob Peterson
- Original Message -
> On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson  wrote:
> >
> >  12 files changed, 184 insertions(+), 95 deletions(-)
> 
> Oh, and this was incorrect. You had apparently limited the statistics
> to the fs/gfs2 directory, and thus missed the changes to the
> MAINTAINERS file. Don't do that - include all the changes. It's what I
> see and compare against when I actually do the pull anyway.
> 
>   Linus

Duly noted, and sorry for the confusion.

Bob Peterson
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-15 Thread Steven Whitehouse

Hi,

On 15/04/15 00:16, Linus Torvalds wrote:

On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson  wrote:

There's another that adds me as a GFS2 co-maintainer [...]

So generally, when I start getting pull requests from different
people, I'd like to see a previous separate heads-up or confirmation
from the previous person just so that I'm not taken by surprise.
Rather than this kind of "as part of the pull request, make the thing
official".

Yes, yes, I can see that you use the same script that Steven did, and
I can see that you've been the main developer lately, but still..

Anyway. Pulled.

  Linus


Thanks - I'm very much still here, keeping an eye on everything, looking 
at all the patches and so forth, but not really writing any myself any 
more, due to taking on a wider role recently. That doesn't mean that 
GFS2 will have fewer developers though, and Bob has been working on it 
pretty much right from the start too, so this should be a smooth transition,


Steve.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-15 Thread Bob Peterson
- Original Message -
 On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson rpete...@redhat.com wrote:
 
   12 files changed, 184 insertions(+), 95 deletions(-)
 
 Oh, and this was incorrect. You had apparently limited the statistics
 to the fs/gfs2 directory, and thus missed the changes to the
 MAINTAINERS file. Don't do that - include all the changes. It's what I
 see and compare against when I actually do the pull anyway.
 
   Linus

Duly noted, and sorry for the confusion.

Bob Peterson
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-15 Thread Steven Whitehouse

Hi,

On 15/04/15 00:16, Linus Torvalds wrote:

On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson rpete...@redhat.com wrote:

There's another that adds me as a GFS2 co-maintainer [...]

So generally, when I start getting pull requests from different
people, I'd like to see a previous separate heads-up or confirmation
from the previous person just so that I'm not taken by surprise.
Rather than this kind of as part of the pull request, make the thing
official.

Yes, yes, I can see that you use the same script that Steven did, and
I can see that you've been the main developer lately, but still..

Anyway. Pulled.

  Linus


Thanks - I'm very much still here, keeping an eye on everything, looking 
at all the patches and so forth, but not really writing any myself any 
more, due to taking on a wider role recently. That doesn't mean that 
GFS2 will have fewer developers though, and Bob has been working on it 
pretty much right from the start too, so this should be a smooth transition,


Steve.

--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-14 Thread Linus Torvalds
On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson  wrote:
>
>  12 files changed, 184 insertions(+), 95 deletions(-)

Oh, and this was incorrect. You had apparently limited the statistics
to the fs/gfs2 directory, and thus missed the changes to the
MAINTAINERS file. Don't do that - include all the changes. It's what I
see and compare against when I actually do the pull anyway.

  Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-14 Thread Linus Torvalds
On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson  wrote:
>
> There's another that adds me as a GFS2 co-maintainer [...]

So generally, when I start getting pull requests from different
people, I'd like to see a previous separate heads-up or confirmation
from the previous person just so that I'm not taken by surprise.
Rather than this kind of "as part of the pull request, make the thing
official".

Yes, yes, I can see that you use the same script that Steven did, and
I can see that you've been the main developer lately, but still..

Anyway. Pulled.

 Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-04-14 Thread Bob Peterson
Hi,

Please consider pulling the following changes,

Bob Peterson


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. Most of the patches fix GFS2 quotas, which were not properly
enforced. There's another that adds me as a GFS2 co-maintainer, and a
couple patches that fix a kernel panic doing splice_write on GFS2 as well
as a few correctness patches.



The following changes since commit 28666d6dc3feca2b1983e6011df383299d8b6b64:

  Add myself (Bob Peterson) as a maintainer of GFS2 (2015-02-24 08:55:30 -0600)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 30133177957dca9a3e2a37b720f891d3225a92a1:

  gfs2: fix quota refresh race in do_glock() (2015-04-08 09:31:18 -0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. Most of the patches fix GFS2 quotas, which were not properly
enforced. There's another that adds me as a GFS2 co-maintainer, and a
couple patches that fix a kernel panic doing splice_write on GFS2 as well
as a few correctness patches.


Abhi Das (4):
  gfs2: perform quota checks against allocation parameters
  gfs2: allow quota_check and inplace_reserve to return available blocks
  gfs2: allow fallocate to max out quotas/fs efficiently
  gfs2: fix quota refresh race in do_glock()

Andreas Gruenbacher (1):
  GFS2: gfs2_set_acl(): Cache "no acl" as well

Bob Peterson (2):
  GFS2: Allocate reservation during splice_write
  GFS2: Move gfs2_file_splice_write outside of #ifdef

Chengyu Song (1):
  gfs2: incorrect check for debugfs returns

 fs/gfs2/acl.c|   6 +---
 fs/gfs2/aops.c   |   6 ++--
 fs/gfs2/bmap.c   |   2 +-
 fs/gfs2/file.c   | 101 ++-
 fs/gfs2/glock.c  |  47 +++---
 fs/gfs2/incore.h |   4 ++-
 fs/gfs2/inode.c  |  18 +-
 fs/gfs2/quota.c  |  62 --
 fs/gfs2/quota.h  |   8 +++--
 fs/gfs2/rgrp.c   |  20 ---
 fs/gfs2/rgrp.h   |   3 +-
 fs/gfs2/xattr.c  |   2 +-
 12 files changed, 184 insertions(+), 95 deletions(-)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-04-14 Thread Bob Peterson
Hi,

Please consider pulling the following changes,

Bob Peterson


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. Most of the patches fix GFS2 quotas, which were not properly
enforced. There's another that adds me as a GFS2 co-maintainer, and a
couple patches that fix a kernel panic doing splice_write on GFS2 as well
as a few correctness patches.



The following changes since commit 28666d6dc3feca2b1983e6011df383299d8b6b64:

  Add myself (Bob Peterson) as a maintainer of GFS2 (2015-02-24 08:55:30 -0600)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git 
tags/gfs2-merge-window

for you to fetch changes up to 30133177957dca9a3e2a37b720f891d3225a92a1:

  gfs2: fix quota refresh race in do_glock() (2015-04-08 09:31:18 -0500)


GFS2: merge window

Here is a list of patches we've accumulated for GFS2 for the current upstream
merge window. Most of the patches fix GFS2 quotas, which were not properly
enforced. There's another that adds me as a GFS2 co-maintainer, and a
couple patches that fix a kernel panic doing splice_write on GFS2 as well
as a few correctness patches.


Abhi Das (4):
  gfs2: perform quota checks against allocation parameters
  gfs2: allow quota_check and inplace_reserve to return available blocks
  gfs2: allow fallocate to max out quotas/fs efficiently
  gfs2: fix quota refresh race in do_glock()

Andreas Gruenbacher (1):
  GFS2: gfs2_set_acl(): Cache no acl as well

Bob Peterson (2):
  GFS2: Allocate reservation during splice_write
  GFS2: Move gfs2_file_splice_write outside of #ifdef

Chengyu Song (1):
  gfs2: incorrect check for debugfs returns

 fs/gfs2/acl.c|   6 +---
 fs/gfs2/aops.c   |   6 ++--
 fs/gfs2/bmap.c   |   2 +-
 fs/gfs2/file.c   | 101 ++-
 fs/gfs2/glock.c  |  47 +++---
 fs/gfs2/incore.h |   4 ++-
 fs/gfs2/inode.c  |  18 +-
 fs/gfs2/quota.c  |  62 --
 fs/gfs2/quota.h  |   8 +++--
 fs/gfs2/rgrp.c   |  20 ---
 fs/gfs2/rgrp.h   |   3 +-
 fs/gfs2/xattr.c  |   2 +-
 12 files changed, 184 insertions(+), 95 deletions(-)
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-14 Thread Linus Torvalds
On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson rpete...@redhat.com wrote:

 There's another that adds me as a GFS2 co-maintainer [...]

So generally, when I start getting pull requests from different
people, I'd like to see a previous separate heads-up or confirmation
from the previous person just so that I'm not taken by surprise.
Rather than this kind of as part of the pull request, make the thing
official.

Yes, yes, I can see that you use the same script that Steven did, and
I can see that you've been the main developer lately, but still..

Anyway. Pulled.

 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2015-04-14 Thread Linus Torvalds
On Tue, Apr 14, 2015 at 10:47 AM, Bob Peterson rpete...@redhat.com wrote:

  12 files changed, 184 insertions(+), 95 deletions(-)

Oh, and this was incorrect. You had apparently limited the statistics
to the fs/gfs2 directory, and thus missed the changes to the
MAINTAINERS file. Don't do that - include all the changes. It's what I
see and compare against when I actually do the pull anyway.

  Linus
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2015-02-10 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

This time we have mostly clean ups. There is a bug fix for a NULL dereference
relating to ACLs, and another which improves (but does not fix entirely) an 
allocation fall-back code path. The other three patches are small clean ups.

--
The following changes since commit 11c8f01b423b2d9742ce21e44cb7da7b55429ad5:

  Merge branch 'rc-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild (2015-01-08 
14:35:00 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 278702074ff77b1a3fa2061267997095959f5e2c:

  GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() 
(2015-02-10 10:14:56 +)


This time we have mostly clean ups. There is a bug fix for a NULL dereference
relating to ACLs, and another which improves (but does not fix entirely) an
allocation fall-back code path. The other three patches are small clean
ups.


Andrew Elble (1):
  GFS2: Fix crash during ACL deletion in acl max entry check in 
gfs2_set_acl()

Bob Peterson (2):
  GFS2: Eliminate __gfs2_glock_remove_from_lru
  GFS2: Eliminate a nonsense goto

Oleg Drokin (1):
  GFS2: use __vmalloc GFP_NOFS for fs-related allocations.

alex chen (1):
  GFS2: fix sprintf format specifier

 fs/gfs2/acl.c  |  2 +-
 fs/gfs2/dir.c  |  3 ++-
 fs/gfs2/glock.c| 13 +++--
 fs/gfs2/inode.c|  3 ---
 fs/gfs2/recovery.c |  2 +-
 fs/gfs2/sys.c  |  2 +-
 6 files changed, 8 insertions(+), 17 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2015-02-10 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

This time we have mostly clean ups. There is a bug fix for a NULL dereference
relating to ACLs, and another which improves (but does not fix entirely) an 
allocation fall-back code path. The other three patches are small clean ups.

--
The following changes since commit 11c8f01b423b2d9742ce21e44cb7da7b55429ad5:

  Merge branch 'rc-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild (2015-01-08 
14:35:00 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 278702074ff77b1a3fa2061267997095959f5e2c:

  GFS2: Fix crash during ACL deletion in acl max entry check in gfs2_set_acl() 
(2015-02-10 10:14:56 +)


This time we have mostly clean ups. There is a bug fix for a NULL dereference
relating to ACLs, and another which improves (but does not fix entirely) an
allocation fall-back code path. The other three patches are small clean
ups.


Andrew Elble (1):
  GFS2: Fix crash during ACL deletion in acl max entry check in 
gfs2_set_acl()

Bob Peterson (2):
  GFS2: Eliminate __gfs2_glock_remove_from_lru
  GFS2: Eliminate a nonsense goto

Oleg Drokin (1):
  GFS2: use __vmalloc GFP_NOFS for fs-related allocations.

alex chen (1):
  GFS2: fix sprintf format specifier

 fs/gfs2/acl.c  |  2 +-
 fs/gfs2/dir.c  |  3 ++-
 fs/gfs2/glock.c| 13 +++--
 fs/gfs2/inode.c|  3 ---
 fs/gfs2/recovery.c |  2 +-
 fs/gfs2/sys.c  |  2 +-
 6 files changed, 8 insertions(+), 17 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-12-08 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

The following changes since commit 0df1f2487d2f0d04703f142813d53615d62a1da4:

  Linux 3.18-rc3 (2014-11-02 15:01:51 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to ec7d879c457611e540cb465c25f3040facbd1185:

  GFS2: gfs2_atomic_open(): simplify the use of finish_no_open() (2014-11-20 
11:18:08 +)


In contrast to recent merge windows, there are a number of interesting features
this time. There is a set of patches to improve performance in relation to
block reservations. Some correctness fixes for fallocate, and an update
to the freeze/thaw code which greatly simplyfies this code path. In
addition there is a set of clean ups from Al Viro too.


Al Viro (5):
  GFS2: bugger off early if O_CREAT open finds a directory
  GFS2: gfs2_create_inode(): don't bother with d_splice_alias()
  GFS2: use kvfree() instead of open-coding it
  GFS2: gfs2_dir_get_hash_table(): avoiding deferred vfree() is easy here...
  GFS2: gfs2_atomic_open(): simplify the use of finish_no_open()

Andrew Price (3):
  GFS2: Use inode_newsize_ok and get_write_access in fallocate
  GFS2: Update i_size properly on fallocate
  GFS2: Update timestamps on fallocate

Benjamin Marzinski (2):
  fs: add freeze_super/thaw_super fs hooks
  GFS2: update freeze code to use freeze/thaw_super on all nodes

Bob Peterson (3):
  GFS2: Set of distributed preferences for rgrps
  GFS2: Only increase rs_sizehint
  GFS2: If we use up our block reservation, request more next time

Fabian Frederick (1):
  GFS2: directly return gfs2_dir_check()

Markus Elfring (1):
  GFS2: Deletion of unnecessary checks before two function calls

 fs/block_dev.c   |  10 -
 fs/gfs2/dir.c|  39 --
 fs/gfs2/file.c   |  83 --
 fs/gfs2/glock.c  |   3 +-
 fs/gfs2/glops.c  |  26 ++--
 fs/gfs2/glops.h  |   2 +
 fs/gfs2/incore.h |  19 ++---
 fs/gfs2/inode.c  |  72 +
 fs/gfs2/log.c|  42 +--
 fs/gfs2/main.c   |  11 -
 fs/gfs2/ops_fstype.c |  18 +++--
 fs/gfs2/quota.c  |   9 +
 fs/gfs2/rgrp.c   |  69 ---
 fs/gfs2/rgrp.h   |   1 +
 fs/gfs2/super.c  | 112 ++-
 fs/gfs2/super.h  |   1 +
 fs/gfs2/trans.c  |  17 ++--
 fs/ioctl.c   |   6 ++-
 include/linux/fs.h   |   2 +
 19 files changed, 315 insertions(+), 227 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-12-08 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

The following changes since commit 0df1f2487d2f0d04703f142813d53615d62a1da4:

  Linux 3.18-rc3 (2014-11-02 15:01:51 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to ec7d879c457611e540cb465c25f3040facbd1185:

  GFS2: gfs2_atomic_open(): simplify the use of finish_no_open() (2014-11-20 
11:18:08 +)


In contrast to recent merge windows, there are a number of interesting features
this time. There is a set of patches to improve performance in relation to
block reservations. Some correctness fixes for fallocate, and an update
to the freeze/thaw code which greatly simplyfies this code path. In
addition there is a set of clean ups from Al Viro too.


Al Viro (5):
  GFS2: bugger off early if O_CREAT open finds a directory
  GFS2: gfs2_create_inode(): don't bother with d_splice_alias()
  GFS2: use kvfree() instead of open-coding it
  GFS2: gfs2_dir_get_hash_table(): avoiding deferred vfree() is easy here...
  GFS2: gfs2_atomic_open(): simplify the use of finish_no_open()

Andrew Price (3):
  GFS2: Use inode_newsize_ok and get_write_access in fallocate
  GFS2: Update i_size properly on fallocate
  GFS2: Update timestamps on fallocate

Benjamin Marzinski (2):
  fs: add freeze_super/thaw_super fs hooks
  GFS2: update freeze code to use freeze/thaw_super on all nodes

Bob Peterson (3):
  GFS2: Set of distributed preferences for rgrps
  GFS2: Only increase rs_sizehint
  GFS2: If we use up our block reservation, request more next time

Fabian Frederick (1):
  GFS2: directly return gfs2_dir_check()

Markus Elfring (1):
  GFS2: Deletion of unnecessary checks before two function calls

 fs/block_dev.c   |  10 -
 fs/gfs2/dir.c|  39 --
 fs/gfs2/file.c   |  83 --
 fs/gfs2/glock.c  |   3 +-
 fs/gfs2/glops.c  |  26 ++--
 fs/gfs2/glops.h  |   2 +
 fs/gfs2/incore.h |  19 ++---
 fs/gfs2/inode.c  |  72 +
 fs/gfs2/log.c|  42 +--
 fs/gfs2/main.c   |  11 -
 fs/gfs2/ops_fstype.c |  18 +++--
 fs/gfs2/quota.c  |   9 +
 fs/gfs2/rgrp.c   |  69 ---
 fs/gfs2/rgrp.h   |   1 +
 fs/gfs2/super.c  | 112 ++-
 fs/gfs2/super.h  |   1 +
 fs/gfs2/trans.c  |  17 ++--
 fs/ioctl.c   |   6 ++-
 include/linux/fs.h   |   2 +
 19 files changed, 315 insertions(+), 227 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-10-08 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

-
The following changes since commit 37504a3be90b69438426d74ccf467a9fe192932b:

  Merge tag 'gfs2-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes (2014-09-16 
07:47:04 -0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to d29c0afe4db72ceb72149c3894a6079674e9751f:

  GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) 
(2014-10-08 09:57:07 +0100)


This time we have a couple of bug fixes, one relating to bad i_goal values
which are now ignored (i_goal is basically a hint so it is safe to so this)
and another relating to the saving of the dirent location during rename.

There is one performance improvement, which is an optimisation in rgblk_free
so that multiple block deallocations will now be more efficient,
and one clean up patch to use _RET_IP_ rather than writing it out longhand.


Abhi Das (1):
  GFS2: fix bad inode i_goal values during block allocation

Bob Peterson (2):
  GFS2: Make rename not save dirent location
  GFS2: Use gfs2_rbm_incr in rgblk_free

Fabian Frederick (1):
  GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0)

 fs/gfs2/dir.c   |  9 +++--
 fs/gfs2/dir.h   |  1 +
 fs/gfs2/glock.c |  4 ++--
 fs/gfs2/glops.c |  2 +-
 fs/gfs2/inode.c |  7 ---
 fs/gfs2/rgrp.c  | 30 +-
 fs/gfs2/rgrp.h  |  1 +
 fs/gfs2/trans.c |  2 +-
 8 files changed, 38 insertions(+), 18 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-10-08 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

-
The following changes since commit 37504a3be90b69438426d74ccf467a9fe192932b:

  Merge tag 'gfs2-fixes' of 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes (2014-09-16 
07:47:04 -0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to d29c0afe4db72ceb72149c3894a6079674e9751f:

  GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0) 
(2014-10-08 09:57:07 +0100)


This time we have a couple of bug fixes, one relating to bad i_goal values
which are now ignored (i_goal is basically a hint so it is safe to so this)
and another relating to the saving of the dirent location during rename.

There is one performance improvement, which is an optimisation in rgblk_free
so that multiple block deallocations will now be more efficient,
and one clean up patch to use _RET_IP_ rather than writing it out longhand.


Abhi Das (1):
  GFS2: fix bad inode i_goal values during block allocation

Bob Peterson (2):
  GFS2: Make rename not save dirent location
  GFS2: Use gfs2_rbm_incr in rgblk_free

Fabian Frederick (1):
  GFS2: use _RET_IP_ instead of (unsigned long)__builtin_return_address(0)

 fs/gfs2/dir.c   |  9 +++--
 fs/gfs2/dir.h   |  1 +
 fs/gfs2/glock.c |  4 ++--
 fs/gfs2/glops.c |  2 +-
 fs/gfs2/inode.c |  7 ---
 fs/gfs2/rgrp.c  | 30 +-
 fs/gfs2/rgrp.h  |  1 +
 fs/gfs2/trans.c |  2 +-
 8 files changed, 38 insertions(+), 18 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-06-04 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

-
The following changes since commit 6ca2a88ad820af56535ed1e6936e0490cb6ec6dc:

  Merge branch 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2014-04-16 16:40:18 
-0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6:

  GFS2: Prevent recovery before the local journal is set (2014-06-02 19:12:06 
+0100)


This must be about the smallest merge window patch set ever for GFS2.
It is probably also the first one without a single patch from me. That
is down to a combination of factors, and I have some things in the works
that are not quite ready yet, that I hope to put in next time around.

Returning to what is here this time... we have 3 patches which fix
various warnings. Two are bug fixes (for quotas and also a
rare recovery race condition). The final patch, from Ben Marzinski,
is an important change in the freeze code which has been in
progress for some time. This removes the need to take and drop the
transaction lock for every single transaction, when the only time it
was used, was at file system freeze time. Ben's patch integrates the
freeze operation into the journal flush code as an alternative with
lower overheads and also lands up resolving some difficult to fix races
at the same time.


Abhi Das (1):
  GFS2: quotas not being refreshed in gfs2_adjust_quota

Benjamin Marzinski (1):
  GFS2: remove transaction glock

Bob Peterson (1):
  GFS2: Prevent recovery before the local journal is set

Fabian Frederick (3):
  GFS2: lops.c: replace 0 by NULL for pointers
  GFS2: fs/gfs2/bmap.c: kernel-doc warning fixes
  GFS2: fs/gfs2/file.c: kernel-doc warning fixes

 fs/gfs2/aops.c   |  2 +-
 fs/gfs2/bmap.c   |  8 ++--
 fs/gfs2/file.c   | 12 +++---
 fs/gfs2/glops.c  | 51 ++
 fs/gfs2/glops.h  |  2 +-
 fs/gfs2/incore.h | 14 --
 fs/gfs2/inode.c  | 40 -
 fs/gfs2/log.c| 93 +++-
 fs/gfs2/log.h| 11 -
 fs/gfs2/lops.c   |  2 +-
 fs/gfs2/ops_fstype.c | 25 ---
 fs/gfs2/quota.c  |  3 +-
 fs/gfs2/recovery.c   | 22 +-
 fs/gfs2/rgrp.c   |  2 +-
 fs/gfs2/super.c  | 69 ++---
 fs/gfs2/sys.c|  7 ++-
 fs/gfs2/trans.c  | 44 +++
 include/uapi/linux/gfs2_ondisk.h |  2 +-
 18 files changed, 246 insertions(+), 163 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-06-04 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

-
The following changes since commit 6ca2a88ad820af56535ed1e6936e0490cb6ec6dc:

  Merge branch 'x86-urgent-for-linus' of 
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2014-04-16 16:40:18 
-0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 0e48e055a7dfc0cf17bbabe4d9b523ee0b1a9ed6:

  GFS2: Prevent recovery before the local journal is set (2014-06-02 19:12:06 
+0100)


This must be about the smallest merge window patch set ever for GFS2.
It is probably also the first one without a single patch from me. That
is down to a combination of factors, and I have some things in the works
that are not quite ready yet, that I hope to put in next time around.

Returning to what is here this time... we have 3 patches which fix
various warnings. Two are bug fixes (for quotas and also a
rare recovery race condition). The final patch, from Ben Marzinski,
is an important change in the freeze code which has been in
progress for some time. This removes the need to take and drop the
transaction lock for every single transaction, when the only time it
was used, was at file system freeze time. Ben's patch integrates the
freeze operation into the journal flush code as an alternative with
lower overheads and also lands up resolving some difficult to fix races
at the same time.


Abhi Das (1):
  GFS2: quotas not being refreshed in gfs2_adjust_quota

Benjamin Marzinski (1):
  GFS2: remove transaction glock

Bob Peterson (1):
  GFS2: Prevent recovery before the local journal is set

Fabian Frederick (3):
  GFS2: lops.c: replace 0 by NULL for pointers
  GFS2: fs/gfs2/bmap.c: kernel-doc warning fixes
  GFS2: fs/gfs2/file.c: kernel-doc warning fixes

 fs/gfs2/aops.c   |  2 +-
 fs/gfs2/bmap.c   |  8 ++--
 fs/gfs2/file.c   | 12 +++---
 fs/gfs2/glops.c  | 51 ++
 fs/gfs2/glops.h  |  2 +-
 fs/gfs2/incore.h | 14 --
 fs/gfs2/inode.c  | 40 -
 fs/gfs2/log.c| 93 +++-
 fs/gfs2/log.h| 11 -
 fs/gfs2/lops.c   |  2 +-
 fs/gfs2/ops_fstype.c | 25 ---
 fs/gfs2/quota.c  |  3 +-
 fs/gfs2/recovery.c   | 22 +-
 fs/gfs2/rgrp.c   |  2 +-
 fs/gfs2/super.c  | 69 ++---
 fs/gfs2/sys.c|  7 ++-
 fs/gfs2/trans.c  | 44 +++
 include/uapi/linux/gfs2_ondisk.h |  2 +-
 18 files changed, 246 insertions(+), 163 deletions(-)



signature.asc
Description: This is a digitally signed message part


Re: GFS2: Pull request (merge window)

2014-04-07 Thread Steven Whitehouse
Hi,

On Fri, 2014-04-04 at 14:52 -0700, Linus Torvalds wrote:
> On Tue, Apr 1, 2014 at 4:15 PM, Steven Whitehouse  wrote:
> >
> > Please consider pulling the following changes
> 
> This pull request is also missing shortlog and diffstat, like Jeff
> Layton's did. Did we have some tooling failure, or is it just
> coincidence?
> 
> Please, guys, make sure your pull requests are valid. I've pulled this
> one too, but..
> 
>Linus

Sorry for the delay. I'd just been travelling for a few days and I
didn't have remote access to the box I used to generated the pull
request. Now that I've been able to have a look at the bash history, I
can see what has happened

git request-pull gfs2-merge-window 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git >my.pull

What what I'd used to generate the request. Which is incorrect in that
it should have been:

git request-pull master 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
gfs2-merge-window >my.pull

but it seems by putting the arguments in the wrong order, I still got a
pull request generated, but without the diffstat, which is probably why
I didn't spot my mistake.

Anyway, apologies for having messed this up - I'll make a note to check
this in future,

Steve


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2014-04-07 Thread Steven Whitehouse
Hi,

On Fri, 2014-04-04 at 14:52 -0700, Linus Torvalds wrote:
 On Tue, Apr 1, 2014 at 4:15 PM, Steven Whitehouse swhit...@redhat.com wrote:
 
  Please consider pulling the following changes
 
 This pull request is also missing shortlog and diffstat, like Jeff
 Layton's did. Did we have some tooling failure, or is it just
 coincidence?
 
 Please, guys, make sure your pull requests are valid. I've pulled this
 one too, but..
 
Linus

Sorry for the delay. I'd just been travelling for a few days and I
didn't have remote access to the box I used to generated the pull
request. Now that I've been able to have a look at the bash history, I
can see what has happened

git request-pull gfs2-merge-window 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git my.pull

What what I'd used to generate the request. Which is incorrect in that
it should have been:

git request-pull master 
git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
gfs2-merge-window my.pull

but it seems by putting the arguments in the wrong order, I still got a
pull request generated, but without the diffstat, which is probably why
I didn't spot my mistake.

Anyway, apologies for having messed this up - I'll make a note to check
this in future,

Steve


--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2014-04-04 Thread Linus Torvalds
On Tue, Apr 1, 2014 at 4:15 PM, Steven Whitehouse  wrote:
>
> Please consider pulling the following changes

This pull request is also missing shortlog and diffstat, like Jeff
Layton's did. Did we have some tooling failure, or is it just
coincidence?

Please, guys, make sure your pull requests are valid. I've pulled this
one too, but..

   Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2014-04-04 Thread Linus Torvalds
On Tue, Apr 1, 2014 at 4:15 PM, Steven Whitehouse swhit...@redhat.com wrote:

 Please consider pulling the following changes

This pull request is also missing shortlog and diffstat, like Jeff
Layton's did. Did we have some tooling failure, or is it just
coincidence?

Please, guys, make sure your pull requests are valid. I've pulled this
one too, but..

   Linus
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2014-04-01 Thread Steven Whitehouse

Hi,

Please consider pulling the following changes,

Steve.

--
The following changes since commit 1b2ad41214c9bf6e8befa000f0522629194bf540:

  GFS2: Fix address space from page function (2014-03-31 17:48:27 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 1b2ad41214c9bf6e8befa000f0522629194bf540:

  GFS2: Fix address space from page function (2014-03-31 17:48:27 +0100)


One of the main highlights this time, is not the patches themselves
but instead the widening contributor base. It is good to see that
interest is increasing in GFS2, and I'd like to thank all the
contributors to this patch set.

In addition to the usual set of bug fixes and clean ups, there are
patches to improve inode creation performance when xattrs are
required and some improvements to the transaction code which is
intended to help improve scalability after further changes in due
course.

Journal extent mapping is also updated to make it more efficient
and again, this is a foundation for future work in this area.

The maximum number of ACLs has been increased to 300 (for a 4k
block size) which means that even with a few additional xattrs
from selinux, everything should fit within a single fs block.

There is also a patch to bring GFS2's own copy of the writepages
code up to the same level as the core VFS. Eventually we may be
able to merge some of this code, since it is fairly similar.

The other major change this time, is bringing consistency to
the printing of messages via fs_, pr_ macros.






signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-04-01 Thread Steven Whitehouse

Hi,

Please consider pulling the following changes,

Steve.

--
The following changes since commit 1b2ad41214c9bf6e8befa000f0522629194bf540:

  GFS2: Fix address space from page function (2014-03-31 17:48:27 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 1b2ad41214c9bf6e8befa000f0522629194bf540:

  GFS2: Fix address space from page function (2014-03-31 17:48:27 +0100)


One of the main highlights this time, is not the patches themselves
but instead the widening contributor base. It is good to see that
interest is increasing in GFS2, and I'd like to thank all the
contributors to this patch set.

In addition to the usual set of bug fixes and clean ups, there are
patches to improve inode creation performance when xattrs are
required and some improvements to the transaction code which is
intended to help improve scalability after further changes in due
course.

Journal extent mapping is also updated to make it more efficient
and again, this is a foundation for future work in this area.

The maximum number of ACLs has been increased to 300 (for a 4k
block size) which means that even with a few additional xattrs
from selinux, everything should fit within a single fs block.

There is also a patch to bring GFS2's own copy of the writepages
code up to the same level as the core VFS. Eventually we may be
able to merge some of this code, since it is fairly similar.

The other major change this time, is bringing consistency to
the printing of messages via fs_level, pr_level macros.






signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-01-20 Thread Steven Whitehouse
Hi,

Please consider pulling the following patches,

Steve.


The following changes since commit 7a262d2ed9fa42fad8c4f243f8025580b58cf2f6:

  Merge git://git.kernel.org/pub/scm/virt/kvm/kvm (2014-01-02 14:50:18 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to d57b9c9a999a8f4475fe73fba629c964245800ca:

  GFS2: revert "GFS2: d_splice_alias() can't return error" (2014-01-18 09:50:53 
+)


The main topics this time are allocation, in the form of Bob's
improvements when searching resource groups and several updates
to quotas which should increase scalability. The quota changes
follow on from those in the last merge window, and there will
likely be further work to come in this area in due course.

There are also a few patches which help to improve efficiency
of adding entries into directories, and clean up some of that
code.

One on-disk change is included this time, which is to write some
additional information which should be useful to fsck and
also potentially for debugging.

Other than that, its just a few small random bug fixes and
clean ups.


Bob Peterson (5):
  GFS2: If requested is too large, use the largest extent in the rgrp
  GFS2: Drop inadequate rgrps from the reservation tree
  GFS2: Implement a "rgrp has no extents longer than X" scheme
  GFS2: Increase i_writecount during gfs2_setattr_chown
  GFS2: Small cleanup

J. Bruce Fields (1):
  GFS2: revert "GFS2: d_splice_alias() can't return error"

Steven Whitehouse (18):
  GFS2: Clean up releasepage
  GFS2: Remove gfs2_quota_change_host structure
  GFS2: Remove test which is always true
  GFS2: Use range based functions for rgrp sync/invalidation
  GFS2: Use only a single address space for rgrps
  GFS2: Add directory addition info structure
  GFS2: Consolidate transaction blocks calculation for dir add
  GFS2: Remember directory insert point
  GFS2: For exhash conversion, only one block is needed
  GFS2: Add hints to directory leaf blocks
  GFS2: Add initialization for address space in super block
  GFS2: No need to invalidate pages for a dio read
  GFS2: Use RCU/hlist_bl based hash for quotas
  GFS2: Only run logd and quota when mounted read/write
  GFS2: Clean up quota slot allocation
  GFS2: Move quota bitmap operations under their own lock
  GFS2: Fix kbuild test robot reported warning
  GFS2: Don't use ENOBUFS when ENOMEM is the correct error code

 fs/gfs2/aops.c   |  23 +--
 fs/gfs2/dir.c|  90 +--
 fs/gfs2/dir.h|  19 ++-
 fs/gfs2/glock.c  |  29 ++--
 fs/gfs2/glock.h  |   2 +-
 fs/gfs2/glops.c  |  26 +--
 fs/gfs2/incore.h |  23 ++-
 fs/gfs2/inode.c  | 118 +-
 fs/gfs2/lops.c   |   5 +
 fs/gfs2/main.c   |   1 +
 fs/gfs2/meta_io.c|   3 +
 fs/gfs2/ops_fstype.c |  58 ++-
 fs/gfs2/quota.c  | 342 +++
 fs/gfs2/quota.h  |   1 +
 fs/gfs2/rgrp.c   | 113 +
 fs/gfs2/rgrp.h   |   2 +-
 fs/gfs2/super.c  |  43 -
 include/uapi/linux/gfs2_ondisk.h |  11 +-
 18 files changed, 550 insertions(+), 359 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2014-01-20 Thread Steven Whitehouse
Hi,

Please consider pulling the following patches,

Steve.


The following changes since commit 7a262d2ed9fa42fad8c4f243f8025580b58cf2f6:

  Merge git://git.kernel.org/pub/scm/virt/kvm/kvm (2014-01-02 14:50:18 -0800)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to d57b9c9a999a8f4475fe73fba629c964245800ca:

  GFS2: revert GFS2: d_splice_alias() can't return error (2014-01-18 09:50:53 
+)


The main topics this time are allocation, in the form of Bob's
improvements when searching resource groups and several updates
to quotas which should increase scalability. The quota changes
follow on from those in the last merge window, and there will
likely be further work to come in this area in due course.

There are also a few patches which help to improve efficiency
of adding entries into directories, and clean up some of that
code.

One on-disk change is included this time, which is to write some
additional information which should be useful to fsck and
also potentially for debugging.

Other than that, its just a few small random bug fixes and
clean ups.


Bob Peterson (5):
  GFS2: If requested is too large, use the largest extent in the rgrp
  GFS2: Drop inadequate rgrps from the reservation tree
  GFS2: Implement a rgrp has no extents longer than X scheme
  GFS2: Increase i_writecount during gfs2_setattr_chown
  GFS2: Small cleanup

J. Bruce Fields (1):
  GFS2: revert GFS2: d_splice_alias() can't return error

Steven Whitehouse (18):
  GFS2: Clean up releasepage
  GFS2: Remove gfs2_quota_change_host structure
  GFS2: Remove test which is always true
  GFS2: Use range based functions for rgrp sync/invalidation
  GFS2: Use only a single address space for rgrps
  GFS2: Add directory addition info structure
  GFS2: Consolidate transaction blocks calculation for dir add
  GFS2: Remember directory insert point
  GFS2: For exhash conversion, only one block is needed
  GFS2: Add hints to directory leaf blocks
  GFS2: Add initialization for address space in super block
  GFS2: No need to invalidate pages for a dio read
  GFS2: Use RCU/hlist_bl based hash for quotas
  GFS2: Only run logd and quota when mounted read/write
  GFS2: Clean up quota slot allocation
  GFS2: Move quota bitmap operations under their own lock
  GFS2: Fix kbuild test robot reported warning
  GFS2: Don't use ENOBUFS when ENOMEM is the correct error code

 fs/gfs2/aops.c   |  23 +--
 fs/gfs2/dir.c|  90 +--
 fs/gfs2/dir.h|  19 ++-
 fs/gfs2/glock.c  |  29 ++--
 fs/gfs2/glock.h  |   2 +-
 fs/gfs2/glops.c  |  26 +--
 fs/gfs2/incore.h |  23 ++-
 fs/gfs2/inode.c  | 118 +-
 fs/gfs2/lops.c   |   5 +
 fs/gfs2/main.c   |   1 +
 fs/gfs2/meta_io.c|   3 +
 fs/gfs2/ops_fstype.c |  58 ++-
 fs/gfs2/quota.c  | 342 +++
 fs/gfs2/quota.h  |   1 +
 fs/gfs2/rgrp.c   | 113 +
 fs/gfs2/rgrp.h   |   2 +-
 fs/gfs2/super.c  |  43 -
 include/uapi/linux/gfs2_ondisk.h |  11 +-
 18 files changed, 550 insertions(+), 359 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-11-05 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes when the merge window is open,

Steve.

--
The following changes since commit 2147dbfd059eb7fefcfd5934f74f25f0693d4a1f:

  GFS2: Use generic list_lru for quota (2013-11-04 11:17:49 +)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 2147dbfd059eb7fefcfd5934f74f25f0693d4a1f:

  GFS2: Use generic list_lru for quota (2013-11-04 11:17:49 +)


The main feature of interest this time is quota updates. There are
some clean ups and some patches to use the new generic lru list
code. There is still plenty of scope for some further changes in
due course - faster lookups of quota structures is very much
on the todo list. Also, a start has been made towards the more tricky
issue of using the generic lru code with glocks, but that will
have to be completed in a subsequent merge window.

The other, more minor feature, is that there have been a number of
performance patches which relate to block allocation. In particular
they will improve performance when the disk is nearly full.



Bob Peterson (5):
  GFS2: optimize rbm_from_block wrt bi_start
  GFS2: introduce bi_blocks for optimization
  GFS2: Do not reset flags on active reservations
  GFS2: Introduce rbm field bii
  GFS2: new function gfs2_rbm_incr

Miklos Szeredi (2):
  GFS2: d_splice_alias() can't return error
  GFS2: fix dentry leaks

Steven Whitehouse (12):
  GFS2: Clean up reservation removal
  GFS2: Add allocation parameters structure
  GFS2: Speed up starting point selection for block allocation
  GFS2: Move gfs2_icbit_munge into quota.c
  GFS2: Remove obsolete quota tunable
  GFS2: Make two similar quota code fragments into a function
  GFS2: Inline qd_trylock into gfs2_quota_unlock
  GFS2: Protect quota sync generation
  GFS2: Use lockref for glocks
  GFS2: Use reflink for quota data cache
  GFS2: Rename quota qd_lru_lock qd_lock
  GFS2: Use generic list_lru for quota


 fs/gfs2/aops.c  |4 
 fs/gfs2/bmap.c  |7 
 fs/gfs2/file.c  |   10 -
 fs/gfs2/glock.c |   83 +-
 fs/gfs2/glock.h |2 
 fs/gfs2/glops.c |4 
 fs/gfs2/incore.h|   41 -
 fs/gfs2/inode.c |   44 +++--
 fs/gfs2/main.c  |   19 +-
 fs/gfs2/ops_fstype.c|2 
 fs/gfs2/quota.c |  371 +++-
 fs/gfs2/quota.h |9 -
 fs/gfs2/rgrp.c  |  212 +--
 fs/gfs2/rgrp.h  |4 
 fs/gfs2/super.c |2 
 fs/gfs2/sys.c   |2 
 fs/gfs2/util.c  |   20 --
 fs/gfs2/util.h  |2 
 fs/gfs2/xattr.c |3 
 include/linux/lockref.h |6 
 lib/lockref.c   |1 
 21 files changed, 482 insertions(+), 366 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-11-05 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes when the merge window is open,

Steve.

--
The following changes since commit 2147dbfd059eb7fefcfd5934f74f25f0693d4a1f:

  GFS2: Use generic list_lru for quota (2013-11-04 11:17:49 +)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 2147dbfd059eb7fefcfd5934f74f25f0693d4a1f:

  GFS2: Use generic list_lru for quota (2013-11-04 11:17:49 +)


The main feature of interest this time is quota updates. There are
some clean ups and some patches to use the new generic lru list
code. There is still plenty of scope for some further changes in
due course - faster lookups of quota structures is very much
on the todo list. Also, a start has been made towards the more tricky
issue of using the generic lru code with glocks, but that will
have to be completed in a subsequent merge window.

The other, more minor feature, is that there have been a number of
performance patches which relate to block allocation. In particular
they will improve performance when the disk is nearly full.



Bob Peterson (5):
  GFS2: optimize rbm_from_block wrt bi_start
  GFS2: introduce bi_blocks for optimization
  GFS2: Do not reset flags on active reservations
  GFS2: Introduce rbm field bii
  GFS2: new function gfs2_rbm_incr

Miklos Szeredi (2):
  GFS2: d_splice_alias() can't return error
  GFS2: fix dentry leaks

Steven Whitehouse (12):
  GFS2: Clean up reservation removal
  GFS2: Add allocation parameters structure
  GFS2: Speed up starting point selection for block allocation
  GFS2: Move gfs2_icbit_munge into quota.c
  GFS2: Remove obsolete quota tunable
  GFS2: Make two similar quota code fragments into a function
  GFS2: Inline qd_trylock into gfs2_quota_unlock
  GFS2: Protect quota sync generation
  GFS2: Use lockref for glocks
  GFS2: Use reflink for quota data cache
  GFS2: Rename quota qd_lru_lock qd_lock
  GFS2: Use generic list_lru for quota


 fs/gfs2/aops.c  |4 
 fs/gfs2/bmap.c  |7 
 fs/gfs2/file.c  |   10 -
 fs/gfs2/glock.c |   83 +-
 fs/gfs2/glock.h |2 
 fs/gfs2/glops.c |4 
 fs/gfs2/incore.h|   41 -
 fs/gfs2/inode.c |   44 +++--
 fs/gfs2/main.c  |   19 +-
 fs/gfs2/ops_fstype.c|2 
 fs/gfs2/quota.c |  371 +++-
 fs/gfs2/quota.h |9 -
 fs/gfs2/rgrp.c  |  212 +--
 fs/gfs2/rgrp.h  |4 
 fs/gfs2/super.c |2 
 fs/gfs2/sys.c   |2 
 fs/gfs2/util.c  |   20 --
 fs/gfs2/util.h  |2 
 fs/gfs2/xattr.c |3 
 include/linux/lockref.h |6 
 lib/lockref.c   |1 
 21 files changed, 482 insertions(+), 366 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-09-09 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.
--
The following changes since commit d6a5e06cd17a3f901231e345e4acc1c3dab9fbb8:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes 
(2013-08-19 09:30:12 -0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 0c9018097fe2966d80fe39e5c9ca94bb436ec369:

  GFS2: dirty inode correctly in gfs2_write_end (2013-09-05 09:04:24 +0100)


This is possibly the smallest ever set of GFS2 patches for a merge
window. Also, most of them are bug fixes this time. Two of my
three patches (moving gfs2_sync_meta and merging the two writepage
implementations) are clean ups with the third (taking the glock ref
in examine_bucket) being a fix for a difficult to hit race condition.

The removal of an unused memory barrier is a clean up from Bob Peterson,
and the "spectator" relates to a rarely used mount option. Ben
Marzinski's patch fixes a corner case where the incorrect inode
flags were being set, resulting in incorrect behaviour on fsync.


Benjamin Marzinski (1):
  GFS2: dirty inode correctly in gfs2_write_end

Bob Peterson (2):
  GFS2: Remove unnecessary memory barrier
  GFS2: Don't flag consistency error if first mounter is a spectator

Steven Whitehouse (3):
  GFS2: Move gfs2_sync_meta to lops.c
  GFS2: Take glock reference in examine_bucket()
  GFS2: Merge ordered and writeback writepage

 fs/gfs2/aops.c   | 44 +++
 fs/gfs2/file.c   |  4 +++-
 fs/gfs2/glock.c  | 13 +
 fs/gfs2/lops.c   | 18 ++
 fs/gfs2/meta_io.c| 18 --
 fs/gfs2/meta_io.h| 26 +++---
 fs/gfs2/ops_fstype.c | 53 ++--
 7 files changed, 99 insertions(+), 77 deletions(-)




signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-09-09 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.
--
The following changes since commit d6a5e06cd17a3f901231e345e4acc1c3dab9fbb8:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes 
(2013-08-19 09:30:12 -0700)

are available in the git repository at:


  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git 
tags/gfs2-merge-window

for you to fetch changes up to 0c9018097fe2966d80fe39e5c9ca94bb436ec369:

  GFS2: dirty inode correctly in gfs2_write_end (2013-09-05 09:04:24 +0100)


This is possibly the smallest ever set of GFS2 patches for a merge
window. Also, most of them are bug fixes this time. Two of my
three patches (moving gfs2_sync_meta and merging the two writepage
implementations) are clean ups with the third (taking the glock ref
in examine_bucket) being a fix for a difficult to hit race condition.

The removal of an unused memory barrier is a clean up from Bob Peterson,
and the spectator relates to a rarely used mount option. Ben
Marzinski's patch fixes a corner case where the incorrect inode
flags were being set, resulting in incorrect behaviour on fsync.


Benjamin Marzinski (1):
  GFS2: dirty inode correctly in gfs2_write_end

Bob Peterson (2):
  GFS2: Remove unnecessary memory barrier
  GFS2: Don't flag consistency error if first mounter is a spectator

Steven Whitehouse (3):
  GFS2: Move gfs2_sync_meta to lops.c
  GFS2: Take glock reference in examine_bucket()
  GFS2: Merge ordered and writeback writepage

 fs/gfs2/aops.c   | 44 +++
 fs/gfs2/file.c   |  4 +++-
 fs/gfs2/glock.c  | 13 +
 fs/gfs2/lops.c   | 18 ++
 fs/gfs2/meta_io.c| 18 --
 fs/gfs2/meta_io.h| 26 +++---
 fs/gfs2/ops_fstype.c | 53 ++--
 7 files changed, 99 insertions(+), 77 deletions(-)




signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-07-01 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--
There are a few bug fixes for various, mostly very minor corner
cases, plus some interesting new features. The new features
include atomic_open whose main benefit will be the reduction in
locking overhead in case of combined lookup/create and open operations,
sorting the log buffer lists by block number to improve the efficiency
of AIL writeback, and aggressively issuing revokes in gfs2_log_flush
to reduce overhead when dropping glocks.

--

The following changes since commit 844ce9f2044723a9da0f4bce588cca410e774d24:

  Merge tag 'mmc-fixes-for-3.10-rc5' of 
git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc (2013-06-05 09:13:06 
+0900)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Abhijith Das (1):
  GFS2: Fix fstrim boundary conditions

Alexey Khoroshilov (1):
  GFS2: fix error propagation in init_threads()

Benjamin Marzinski (3):
  GFS2: Sort buffer lists by inplace block number
  GFS2: aggressively issue revokes in gfs2_log_flush
  GFS2: fix warning message

Bob Peterson (3):
  GFS2: Eliminate gfs2_rg_lops
  GFS2: fix regression in dir_double_exhash
  GFS2: Reserve journal space for quota change in do_grow

Steven Whitehouse (3):
  GFS2: Remove no-op wrapper function
  GFS2: Only do one directory search on create
  GFS2: Add atomic_open support

Thomas Meyer (1):
  GFS2: Cocci spatch "ptr_ret.spatch"

 fs/dcache.c  |   11 +++-
 fs/gfs2/bmap.c   |4 +-
 fs/gfs2/dir.c|   26 +
 fs/gfs2/dir.h|3 +-
 fs/gfs2/file.c   |   69 +++
 fs/gfs2/glops.c  |8 ---
 fs/gfs2/inode.c  |  150 --
 fs/gfs2/inode.h  |1 +
 fs/gfs2/log.c|   78 +-
 fs/gfs2/log.h|2 +
 fs/gfs2/lops.c   |   22 ++--
 fs/gfs2/lops.h   |1 -
 fs/gfs2/meta_io.c|4 -
 fs/gfs2/ops_fstype.c |8 +-
 fs/gfs2/quota.c  |7 +--
 fs/gfs2/rgrp.c   |   14 +++--
 fs/gfs2/trans.c  |9 +---
 17 files changed, 291 insertions(+), 126 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-07-01 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--
There are a few bug fixes for various, mostly very minor corner
cases, plus some interesting new features. The new features
include atomic_open whose main benefit will be the reduction in
locking overhead in case of combined lookup/create and open operations,
sorting the log buffer lists by block number to improve the efficiency
of AIL writeback, and aggressively issuing revokes in gfs2_log_flush
to reduce overhead when dropping glocks.

--

The following changes since commit 844ce9f2044723a9da0f4bce588cca410e774d24:

  Merge tag 'mmc-fixes-for-3.10-rc5' of 
git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc (2013-06-05 09:13:06 
+0900)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Abhijith Das (1):
  GFS2: Fix fstrim boundary conditions

Alexey Khoroshilov (1):
  GFS2: fix error propagation in init_threads()

Benjamin Marzinski (3):
  GFS2: Sort buffer lists by inplace block number
  GFS2: aggressively issue revokes in gfs2_log_flush
  GFS2: fix warning message

Bob Peterson (3):
  GFS2: Eliminate gfs2_rg_lops
  GFS2: fix regression in dir_double_exhash
  GFS2: Reserve journal space for quota change in do_grow

Steven Whitehouse (3):
  GFS2: Remove no-op wrapper function
  GFS2: Only do one directory search on create
  GFS2: Add atomic_open support

Thomas Meyer (1):
  GFS2: Cocci spatch ptr_ret.spatch

 fs/dcache.c  |   11 +++-
 fs/gfs2/bmap.c   |4 +-
 fs/gfs2/dir.c|   26 +
 fs/gfs2/dir.h|3 +-
 fs/gfs2/file.c   |   69 +++
 fs/gfs2/glops.c  |8 ---
 fs/gfs2/inode.c  |  150 --
 fs/gfs2/inode.h  |1 +
 fs/gfs2/log.c|   78 +-
 fs/gfs2/log.h|2 +
 fs/gfs2/lops.c   |   22 ++--
 fs/gfs2/lops.h   |1 -
 fs/gfs2/meta_io.c|4 -
 fs/gfs2/ops_fstype.c |8 +-
 fs/gfs2/quota.c  |7 +--
 fs/gfs2/rgrp.c   |   14 +++--
 fs/gfs2/trans.c  |9 +---
 17 files changed, 291 insertions(+), 126 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-04-29 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

There is not a whole lot of change this time - there are some further
changes which are in the works, but those will be held over until next
time.

Here there are some clean ups to inode creation, the addition of an
origin (local or remote) indicator to glock demote requests, removal
of one of the remaining GFP_NOFAIL allocations during log flushes,
one minor clean up, and a one liner bug fix.

--
The following changes since commit 31880c37c11e28cb81c70757e38392b42e695dc6:

  Linux 3.9-rc6 (2013-04-07 20:49:54 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Benjamin Marzinski (1):
  GFS2: replace gfs2_ail structure with gfs2_trans

Bob Peterson (2):
  GFS2: Remove vestigial parameter ip from function rs_deltree
  GFS2: Flush work queue before clearing glock hash tables

Steven Whitehouse (5):
  GFS2: Clean up inode creation path
  GFS2: Remove gfs2_refresh_inode from inode creation path
  GFS2: Use gfs2_dinode_out() in the inode create path
  GFS2: Add origin indicator to glock callbacks
  GFS2: Add origin indicator to glock demote tracing

 fs/gfs2/aops.c   |2 +-
 fs/gfs2/bmap.c   |2 +-
 fs/gfs2/glock.c  |   28 ++-
 fs/gfs2/glock.h  |1 -
 fs/gfs2/glops.c  |4 +-
 fs/gfs2/incore.h |   19 +++---
 fs/gfs2/inode.c  |  188 +-
 fs/gfs2/log.c|  104 +++-
 fs/gfs2/lops.c   |   32 ++---
 fs/gfs2/lops.h   |5 +-
 fs/gfs2/meta_io.c|2 +-
 fs/gfs2/rgrp.c   |   24 +++
 fs/gfs2/rgrp.h   |2 +-
 fs/gfs2/super.c  |2 +-
 fs/gfs2/trace_gfs2.h |   11 ++-
 fs/gfs2/trans.c  |4 +-
 16 files changed, 188 insertions(+), 242 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-04-29 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

--

There is not a whole lot of change this time - there are some further
changes which are in the works, but those will be held over until next
time.

Here there are some clean ups to inode creation, the addition of an
origin (local or remote) indicator to glock demote requests, removal
of one of the remaining GFP_NOFAIL allocations during log flushes,
one minor clean up, and a one liner bug fix.

--
The following changes since commit 31880c37c11e28cb81c70757e38392b42e695dc6:

  Linux 3.9-rc6 (2013-04-07 20:49:54 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Benjamin Marzinski (1):
  GFS2: replace gfs2_ail structure with gfs2_trans

Bob Peterson (2):
  GFS2: Remove vestigial parameter ip from function rs_deltree
  GFS2: Flush work queue before clearing glock hash tables

Steven Whitehouse (5):
  GFS2: Clean up inode creation path
  GFS2: Remove gfs2_refresh_inode from inode creation path
  GFS2: Use gfs2_dinode_out() in the inode create path
  GFS2: Add origin indicator to glock callbacks
  GFS2: Add origin indicator to glock demote tracing

 fs/gfs2/aops.c   |2 +-
 fs/gfs2/bmap.c   |2 +-
 fs/gfs2/glock.c  |   28 ++-
 fs/gfs2/glock.h  |1 -
 fs/gfs2/glops.c  |4 +-
 fs/gfs2/incore.h |   19 +++---
 fs/gfs2/inode.c  |  188 +-
 fs/gfs2/log.c|  104 +++-
 fs/gfs2/lops.c   |   32 ++---
 fs/gfs2/lops.h   |5 +-
 fs/gfs2/meta_io.c|2 +-
 fs/gfs2/rgrp.c   |   24 +++
 fs/gfs2/rgrp.h   |2 +-
 fs/gfs2/super.c  |2 +-
 fs/gfs2/trace_gfs2.h |   11 ++-
 fs/gfs2/trans.c  |4 +-
 16 files changed, 188 insertions(+), 242 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-02-19 Thread Steven Whitehouse
Hi,

Please consider pulling the following GFS2 patches for the merge window,

Steve.

---
This is one of the smallest collections of patches for the merge
window for some time. There are some clean ups relating to the
transaction code and the shrinker, which are mostly in preparation
for further development, but also make the code much easier to
follow in these areas.

There is a patch which allows the use of ->writepages even in the
default ordered write mode for all writebacks. This results in
sending larger i/os to the block layer, and a subsequent increase
in performance. It also reduces the number of different i/o paths
by one.

There is also a bug fix reinstating the withdraw ack system which
somehow got lost when the lock modules were merged into GFS2.

---
The following changes since commit 6abb7c25775b7fb2225ad0508236d63ca710e65f:

  Merge tag 'regulator-3.8-rc5' of 
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator (2013-01-28 
22:44:53 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Bob Peterson (1):
  GFS2: Get a block reservation before resizing a file

Steven Whitehouse (9):
  GFS2: Separate LRU scanning from shrinker
  GFS2: Merge revoke adding functions
  GFS2: Split gfs2_trans_add_bh() into two
  GFS2: Copy gfs2_trans_add_bh into new data/meta functions
  GFS2: Merge gfs2_attach_bufdata() into trans.c
  GFS2: Clean up freeze code
  GFS2: Use ->writepages for ordered writes
  GFS2: Split glock lru processing into two parts
  GFS2: Reinstate withdraw ack system

 fs/gfs2/aops.c   |   17 +++
 fs/gfs2/bmap.c   |   30 +++-
 fs/gfs2/dir.c|   30 ++--
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |  116 +-
 fs/gfs2/incore.h |8 ++--
 fs/gfs2/inode.c  |8 ++--
 fs/gfs2/log.c|   76 ++
 fs/gfs2/log.h|   12 +
 fs/gfs2/lops.c   |   83 +-
 fs/gfs2/lops.h   |   14 +-
 fs/gfs2/meta_io.c|   35 --
 fs/gfs2/meta_io.h|3 -
 fs/gfs2/ops_fstype.c |4 +-
 fs/gfs2/quota.c  |4 +-
 fs/gfs2/rgrp.c   |   18 
 fs/gfs2/super.c  |   70 
 fs/gfs2/super.h  |3 -
 fs/gfs2/sys.c|   48 ++--
 fs/gfs2/trans.c  |  124 +-
 fs/gfs2/trans.h  |3 +-
 fs/gfs2/util.c   |3 +
 fs/gfs2/xattr.c  |   36 +++---
 23 files changed, 375 insertions(+), 374 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2013-02-19 Thread Steven Whitehouse
Hi,

Please consider pulling the following GFS2 patches for the merge window,

Steve.

---
This is one of the smallest collections of patches for the merge
window for some time. There are some clean ups relating to the
transaction code and the shrinker, which are mostly in preparation
for further development, but also make the code much easier to
follow in these areas.

There is a patch which allows the use of -writepages even in the
default ordered write mode for all writebacks. This results in
sending larger i/os to the block layer, and a subsequent increase
in performance. It also reduces the number of different i/o paths
by one.

There is also a bug fix reinstating the withdraw ack system which
somehow got lost when the lock modules were merged into GFS2.

---
The following changes since commit 6abb7c25775b7fb2225ad0508236d63ca710e65f:

  Merge tag 'regulator-3.8-rc5' of 
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator (2013-01-28 
22:44:53 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Bob Peterson (1):
  GFS2: Get a block reservation before resizing a file

Steven Whitehouse (9):
  GFS2: Separate LRU scanning from shrinker
  GFS2: Merge revoke adding functions
  GFS2: Split gfs2_trans_add_bh() into two
  GFS2: Copy gfs2_trans_add_bh into new data/meta functions
  GFS2: Merge gfs2_attach_bufdata() into trans.c
  GFS2: Clean up freeze code
  GFS2: Use -writepages for ordered writes
  GFS2: Split glock lru processing into two parts
  GFS2: Reinstate withdraw ack system

 fs/gfs2/aops.c   |   17 +++
 fs/gfs2/bmap.c   |   30 +++-
 fs/gfs2/dir.c|   30 ++--
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |  116 +-
 fs/gfs2/incore.h |8 ++--
 fs/gfs2/inode.c  |8 ++--
 fs/gfs2/log.c|   76 ++
 fs/gfs2/log.h|   12 +
 fs/gfs2/lops.c   |   83 +-
 fs/gfs2/lops.h   |   14 +-
 fs/gfs2/meta_io.c|   35 --
 fs/gfs2/meta_io.h|3 -
 fs/gfs2/ops_fstype.c |4 +-
 fs/gfs2/quota.c  |4 +-
 fs/gfs2/rgrp.c   |   18 
 fs/gfs2/super.c  |   70 
 fs/gfs2/super.h  |3 -
 fs/gfs2/sys.c|   48 ++--
 fs/gfs2/trans.c  |  124 +-
 fs/gfs2/trans.h  |3 +-
 fs/gfs2/util.c   |3 +
 fs/gfs2/xattr.c  |   36 +++---
 23 files changed, 375 insertions(+), 374 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2012-12-11 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes:

The main feature this time is the new Orlov allocator and the patches
leading up to it which allow us to allocate new inodes from their own
allocation context, rather than borrowing that of their parent directory.
It is this change which then allows us to choose a different location
for subdirectories when required. This works exactly as per the ext3
implementation from the users point of view.

In addition to that, we've got a speed up in gfs2_rbm_from_block()
from Bob Peterson, three locking related improvements from Dave
Teigland plus a selection of smaller bug fixes and clean ups.

The following changes since commit 0e4a43ed08e2f44aa7b96aa95d0a540d675483e1:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes 
(2012-11-07 13:38:56 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Bob Peterson (7):
  GFS2: Speed up gfs2_rbm_from_block
  GFS2: Rename glops go_xmote_th to go_sync
  GFS2: Use dirty_inode in gfs2_dir_add
  GFS2: Eliminate redundant buffer_head manipulation in gfs2_unlink_inode
  GFS2: don't reference inode's glock during block allocation trace
  GFS2: add error check while allocating new inodes
  GFS2: Set gl_object during inode create

David Teigland (3):
  GFS2: skip dlm_unlock calls in unmount
  GFS2: only use lvb on glocks that need it
  GFS2: remove redundant lvb pointer

Steven Whitehouse (6):
  GFS2: Review bug traps in glops.c
  GFS2: Add test for resource group congestion status
  GFS2: Use proper allocation context for new inodes
  GFS2: Add Orlov allocator
  GFS2: Fix truncation of journaled data files
  GFS2: Fix one RG corner case

 fs/gfs2/aops.c   |2 +-
 fs/gfs2/bmap.c   |   54 -
 fs/gfs2/dir.c|7 +--
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |   40 ++
 fs/gfs2/glock.h  |   54 +++---
 fs/gfs2/glops.c  |   19 +++--
 fs/gfs2/incore.h |6 +-
 fs/gfs2/inode.c  |  209 ++
 fs/gfs2/lock_dlm.c   |   20 -
 fs/gfs2/ops_fstype.c |3 +
 fs/gfs2/quota.c  |   10 +-
 fs/gfs2/rgrp.c   |  139 +
 fs/gfs2/rgrp.h   |3 +-
 fs/gfs2/trace_gfs2.h |2 +-
 fs/gfs2/xattr.c  |2 +-
 16 files changed, 380 insertions(+), 194 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2012-12-11 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes:

The main feature this time is the new Orlov allocator and the patches
leading up to it which allow us to allocate new inodes from their own
allocation context, rather than borrowing that of their parent directory.
It is this change which then allows us to choose a different location
for subdirectories when required. This works exactly as per the ext3
implementation from the users point of view.

In addition to that, we've got a speed up in gfs2_rbm_from_block()
from Bob Peterson, three locking related improvements from Dave
Teigland plus a selection of smaller bug fixes and clean ups.

The following changes since commit 0e4a43ed08e2f44aa7b96aa95d0a540d675483e1:

  Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-fixes 
(2012-11-07 13:38:56 +0100)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Bob Peterson (7):
  GFS2: Speed up gfs2_rbm_from_block
  GFS2: Rename glops go_xmote_th to go_sync
  GFS2: Use dirty_inode in gfs2_dir_add
  GFS2: Eliminate redundant buffer_head manipulation in gfs2_unlink_inode
  GFS2: don't reference inode's glock during block allocation trace
  GFS2: add error check while allocating new inodes
  GFS2: Set gl_object during inode create

David Teigland (3):
  GFS2: skip dlm_unlock calls in unmount
  GFS2: only use lvb on glocks that need it
  GFS2: remove redundant lvb pointer

Steven Whitehouse (6):
  GFS2: Review bug traps in glops.c
  GFS2: Add test for resource group congestion status
  GFS2: Use proper allocation context for new inodes
  GFS2: Add Orlov allocator
  GFS2: Fix truncation of journaled data files
  GFS2: Fix one RG corner case

 fs/gfs2/aops.c   |2 +-
 fs/gfs2/bmap.c   |   54 -
 fs/gfs2/dir.c|7 +--
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |   40 ++
 fs/gfs2/glock.h  |   54 +++---
 fs/gfs2/glops.c  |   19 +++--
 fs/gfs2/incore.h |6 +-
 fs/gfs2/inode.c  |  209 ++
 fs/gfs2/lock_dlm.c   |   20 -
 fs/gfs2/ops_fstype.c |3 +
 fs/gfs2/quota.c  |   10 +-
 fs/gfs2/rgrp.c   |  139 +
 fs/gfs2/rgrp.h   |3 +-
 fs/gfs2/trace_gfs2.h |2 +-
 fs/gfs2/xattr.c  |2 +-
 16 files changed, 380 insertions(+), 194 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2012-10-01 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

---

The major feature this time is the "rbm" conversion in the resource
group code. The new struct gfs2_rbm specifies the location of an
allocatable block in (resource group, bitmap, offset) form. There
are a number of added helper functions, and later patches then
rewrite some of the resource group code in terms of this new
structure. Not only does this give us a nice code clean up, but 
it also removes some of the previous restructions where extents
could not cross bitmap boundaries, for example.

In addition to that, there are a few bug fixes and clean ups, but
the rbm work is by far the majority of this patch set in terms of
number of changed lines.

---

The following changes since commit 979570e02981d4a8fc20b3cc8fd651856c98ee9d:

  Linux 3.6-rc7 (2012-09-23 18:10:57 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Benjamin Marzinski (1):
  GFS2: Write out dirty inode metadata in delayed deletes

Bob Peterson (9):
  GFS2: rbm code cleanup
  GFS2: change function gfs2_direct_IO to use a normal gfs2_glock_dq
  GFS2: inline __gfs2_glock_schedule_for_reclaim
  GFS2: Combine functions gfs2_glock_wait and wait_on_holder
  GFS2: Combine functions gfs2_glock_dq_wait and wait_on_demote
  GFS2: Eliminate redundant calls to may_grant
  GFS2: Eliminate unnecessary check for state > 3 in bitfit
  GFS2: Stop block extents at the end of bitmaps
  GFS2: Fix infinite loop in rbm_find

Eric Sandeen (1):
  GFS2: fix s_writers.counter imbalance in gfs2_ail_empty_gl

Jan Kara (1):
  GFS2: Get rid of I_MUTEX_QUOTA usage

Michel Lespinasse (1):
  GFS2: Use RB_CLEAR_NODE() rather than rb_init_node()

Steven Whitehouse (14):
  GFS2: Merge two nearly identical xattr functions
  GFS2: Remove rs_requested field from reservations
  GFS2: Add structure to contain rgrp, bitmap, offset tuple
  GFS2: Replace rgblk_search with gfs2_rbm_find
  GFS2: Update gfs2_get_block_type() to use rbm
  GFS2: Update rgblk_free() to use rbm
  GFS2: Fix case where reservation finished at end of rgrp
  GFS2: Use rbm for gfs2_testbit()
  GFS2: Use rbm for gfs2_setbit()
  GFS2: Fix ->show_options() for statfs slow
  GFS2: Fall back to ignoring reservations, if there are no other blocks 
left
  GFS2: Improve block reservation tracing
  GFS2: Fix unclaimed_blocks() wrapping bug and clean up
  GFS2: Consolidate free block searching functions

 fs/gfs2/aops.c   |   11 +-
 fs/gfs2/bmap.c   |2 +-
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |   60 +--
 fs/gfs2/glops.c  |1 +
 fs/gfs2/incore.h |   30 +-
 fs/gfs2/inode.c  |   20 +-
 fs/gfs2/ops_fstype.c |8 +
 fs/gfs2/quota.c  |   11 +-
 fs/gfs2/rgrp.c   | 1203 --
 fs/gfs2/rgrp.h   |   28 +-
 fs/gfs2/super.c  |9 +-
 fs/gfs2/trace_gfs2.h |   20 +-
 fs/gfs2/trans.h  |7 +-
 fs/gfs2/xattr.c  |   96 ++---
 15 files changed, 710 insertions(+), 800 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2012-10-01 Thread Steven Whitehouse
Hi,

Please consider pulling the following changes,

Steve.

---

The major feature this time is the rbm conversion in the resource
group code. The new struct gfs2_rbm specifies the location of an
allocatable block in (resource group, bitmap, offset) form. There
are a number of added helper functions, and later patches then
rewrite some of the resource group code in terms of this new
structure. Not only does this give us a nice code clean up, but 
it also removes some of the previous restructions where extents
could not cross bitmap boundaries, for example.

In addition to that, there are a few bug fixes and clean ups, but
the rbm work is by far the majority of this patch set in terms of
number of changed lines.

---

The following changes since commit 979570e02981d4a8fc20b3cc8fd651856c98ee9d:

  Linux 3.6-rc7 (2012-09-23 18:10:57 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Benjamin Marzinski (1):
  GFS2: Write out dirty inode metadata in delayed deletes

Bob Peterson (9):
  GFS2: rbm code cleanup
  GFS2: change function gfs2_direct_IO to use a normal gfs2_glock_dq
  GFS2: inline __gfs2_glock_schedule_for_reclaim
  GFS2: Combine functions gfs2_glock_wait and wait_on_holder
  GFS2: Combine functions gfs2_glock_dq_wait and wait_on_demote
  GFS2: Eliminate redundant calls to may_grant
  GFS2: Eliminate unnecessary check for state  3 in bitfit
  GFS2: Stop block extents at the end of bitmaps
  GFS2: Fix infinite loop in rbm_find

Eric Sandeen (1):
  GFS2: fix s_writers.counter imbalance in gfs2_ail_empty_gl

Jan Kara (1):
  GFS2: Get rid of I_MUTEX_QUOTA usage

Michel Lespinasse (1):
  GFS2: Use RB_CLEAR_NODE() rather than rb_init_node()

Steven Whitehouse (14):
  GFS2: Merge two nearly identical xattr functions
  GFS2: Remove rs_requested field from reservations
  GFS2: Add structure to contain rgrp, bitmap, offset tuple
  GFS2: Replace rgblk_search with gfs2_rbm_find
  GFS2: Update gfs2_get_block_type() to use rbm
  GFS2: Update rgblk_free() to use rbm
  GFS2: Fix case where reservation finished at end of rgrp
  GFS2: Use rbm for gfs2_testbit()
  GFS2: Use rbm for gfs2_setbit()
  GFS2: Fix -show_options() for statfs slow
  GFS2: Fall back to ignoring reservations, if there are no other blocks 
left
  GFS2: Improve block reservation tracing
  GFS2: Fix unclaimed_blocks() wrapping bug and clean up
  GFS2: Consolidate free block searching functions

 fs/gfs2/aops.c   |   11 +-
 fs/gfs2/bmap.c   |2 +-
 fs/gfs2/file.c   |4 +-
 fs/gfs2/glock.c  |   60 +--
 fs/gfs2/glops.c  |1 +
 fs/gfs2/incore.h |   30 +-
 fs/gfs2/inode.c  |   20 +-
 fs/gfs2/ops_fstype.c |8 +
 fs/gfs2/quota.c  |   11 +-
 fs/gfs2/rgrp.c   | 1203 --
 fs/gfs2/rgrp.h   |   28 +-
 fs/gfs2/super.c  |9 +-
 fs/gfs2/trace_gfs2.h |   20 +-
 fs/gfs2/trans.h  |7 +-
 fs/gfs2/xattr.c  |   96 ++---
 15 files changed, 710 insertions(+), 800 deletions(-)



signature.asc
Description: This is a digitally signed message part


Re: GFS2: Pull request (merge window)

2012-08-03 Thread Linus Torvalds
On Fri, Aug 3, 2012 at 3:18 AM, Steven Whitehouse  wrote:
>
> I've been writing summaries when I send out the "pre-pull patch posting"
> so I could just copy & paste from that if it thats the kind of thing
> that you are after?
>
> https://lkml.org/lkml/2012/7/23/59

Yup, exactly something like that. And then depending on whether there
are any new and interesting things, please elaborate..

  Thanks,
 Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2012-08-03 Thread Steven Whitehouse
Hi,

On Thu, 2012-08-02 at 18:22 -0700, Linus Torvalds wrote:
> [ For some reason this didn't go out, and was in my "drafts" folder.
> Better late than never, I guess ]
> 
> On Mon, Jul 23, 2012 at 7:59 AM, Steven Whitehouse  
> wrote:
> >
> > Please consider pulling the following patches. There have been no changes 
> > since
> > they were posted for review,
> 
> It would be lovely to get a short overview of what the changes you ask
> me to pull actually do, so that I can populate the merge message with
> relevant information.
> 
> (Not just a message for you, this is true in general. Although I'm
> very pleased with the merge window so far - I think most pull requests
> have had at least *some* general overview in tags and/or emails)
> 
> Linus

I've been writing summaries when I send out the "pre-pull patch posting"
so I could just copy & paste from that if it thats the kind of thing
that you are after?

https://lkml.org/lkml/2012/7/23/59


Steve.



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2012-08-03 Thread Steven Whitehouse
Hi,

On Thu, 2012-08-02 at 18:22 -0700, Linus Torvalds wrote:
 [ For some reason this didn't go out, and was in my drafts folder.
 Better late than never, I guess ]
 
 On Mon, Jul 23, 2012 at 7:59 AM, Steven Whitehouse swhit...@redhat.com 
 wrote:
 
  Please consider pulling the following patches. There have been no changes 
  since
  they were posted for review,
 
 It would be lovely to get a short overview of what the changes you ask
 me to pull actually do, so that I can populate the merge message with
 relevant information.
 
 (Not just a message for you, this is true in general. Although I'm
 very pleased with the merge window so far - I think most pull requests
 have had at least *some* general overview in tags and/or emails)
 
 Linus

I've been writing summaries when I send out the pre-pull patch posting
so I could just copy  paste from that if it thats the kind of thing
that you are after?

https://lkml.org/lkml/2012/7/23/59


Steve.



--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2012-08-03 Thread Linus Torvalds
On Fri, Aug 3, 2012 at 3:18 AM, Steven Whitehouse swhit...@redhat.com wrote:

 I've been writing summaries when I send out the pre-pull patch posting
 so I could just copy  paste from that if it thats the kind of thing
 that you are after?

 https://lkml.org/lkml/2012/7/23/59

Yup, exactly something like that. And then depending on whether there
are any new and interesting things, please elaborate..

  Thanks,
 Linus
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2012-08-02 Thread Linus Torvalds
[ For some reason this didn't go out, and was in my "drafts" folder.
Better late than never, I guess ]

On Mon, Jul 23, 2012 at 7:59 AM, Steven Whitehouse  wrote:
>
> Please consider pulling the following patches. There have been no changes 
> since
> they were posted for review,

It would be lovely to get a short overview of what the changes you ask
me to pull actually do, so that I can populate the merge message with
relevant information.

(Not just a message for you, this is true in general. Although I'm
very pleased with the merge window so far - I think most pull requests
have had at least *some* general overview in tags and/or emails)

Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: GFS2: Pull request (merge window)

2012-08-02 Thread Linus Torvalds
[ For some reason this didn't go out, and was in my drafts folder.
Better late than never, I guess ]

On Mon, Jul 23, 2012 at 7:59 AM, Steven Whitehouse swhit...@redhat.com wrote:

 Please consider pulling the following patches. There have been no changes 
 since
 they were posted for review,

It would be lovely to get a short overview of what the changes you ask
me to pull actually do, so that I can populate the merge message with
relevant information.

(Not just a message for you, this is true in general. Although I'm
very pleased with the merge window so far - I think most pull requests
have had at least *some* general overview in tags and/or emails)

Linus
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


GFS2: Pull request (merge window)

2012-07-23 Thread Steven Whitehouse
Hi,

Please consider pulling the following patches. There have been no changes since
they were posted for review,

Steve.

---
The following changes since commit eea5b5510fc5545d15b69da8e485a7424ae388cf:

  Merge tag 'please-pull-mce' of 
git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras (2012-06-05 15:15:04 
-0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Abhijith Das (1):
  GFS2: kernel panic with small gfs2 filesystems - 1 RG

Benjamin Marzinski (1):
  GFS2: Use lvbs for storing rgrp information with mount option

Bob Peterson (6):
  GFS2: Extend the life of the reservations
  GFS2: Fold quota data into the reservations struct
  GFS2: Add kobject release method
  GFS2: Combine functions get_local_rgrp and gfs2_inplace_reserve
  GFS2: Reduce file fragmentation
  GFS2: Eliminate 64-bit divides

Masatake YAMATO (1):
  GFS2: Fixing double brelse'ing bh allocated in gfs2_meta_read when EIO 
occurs

Steven Whitehouse (7):
  GFS2: Add "top dir" flag support
  GFS2: Fix error handling when reading an invalid block from the journal
  GFS2: Increase buffer size for glocks and glstats debugfs files
  GFS2: Cache last hash bucket for glock seq_files
  seq_file: Add seq_vprintf function and export it
  GFS2: Use seq_vprintf for glocks debugfs file
  GFS2: Size seq_file buffer more carefully

 fs/gfs2/aops.c  |   18 +-
 fs/gfs2/bmap.c  |   21 +-
 fs/gfs2/dir.c   |9 +-
 fs/gfs2/file.c  |   65 ++--
 fs/gfs2/glock.c |   39 ++-
 fs/gfs2/incore.h|   54 ++-
 fs/gfs2/inode.c |   94 +++---
 fs/gfs2/lops.c  |9 +-
 fs/gfs2/main.c  |1 -
 fs/gfs2/meta_io.c   |5 +-
 fs/gfs2/ops_fstype.c|   36 ++-
 fs/gfs2/quota.c |   72 +++--
 fs/gfs2/rgrp.c  |  833 ---
 fs/gfs2/rgrp.h  |   45 ++-
 fs/gfs2/super.c |   28 ++-
 fs/gfs2/sys.c   |   21 +-
 fs/gfs2/trace_gfs2.h|   59 +++-
 fs/gfs2/trans.h |2 +-
 fs/gfs2/util.h  |   18 +-
 fs/gfs2/xattr.c |   30 +-
 fs/seq_file.c   |   18 +-
 include/linux/gfs2_ondisk.h |   14 +-
 include/linux/seq_file.h|1 +
 23 files changed, 1121 insertions(+), 371 deletions(-)



signature.asc
Description: This is a digitally signed message part


GFS2: Pull request (merge window)

2012-07-23 Thread Steven Whitehouse
Hi,

Please consider pulling the following patches. There have been no changes since
they were posted for review,

Steve.

---
The following changes since commit eea5b5510fc5545d15b69da8e485a7424ae388cf:

  Merge tag 'please-pull-mce' of 
git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras (2012-06-05 15:15:04 
-0700)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-3.0-nmw.git master

Abhijith Das (1):
  GFS2: kernel panic with small gfs2 filesystems - 1 RG

Benjamin Marzinski (1):
  GFS2: Use lvbs for storing rgrp information with mount option

Bob Peterson (6):
  GFS2: Extend the life of the reservations
  GFS2: Fold quota data into the reservations struct
  GFS2: Add kobject release method
  GFS2: Combine functions get_local_rgrp and gfs2_inplace_reserve
  GFS2: Reduce file fragmentation
  GFS2: Eliminate 64-bit divides

Masatake YAMATO (1):
  GFS2: Fixing double brelse'ing bh allocated in gfs2_meta_read when EIO 
occurs

Steven Whitehouse (7):
  GFS2: Add top dir flag support
  GFS2: Fix error handling when reading an invalid block from the journal
  GFS2: Increase buffer size for glocks and glstats debugfs files
  GFS2: Cache last hash bucket for glock seq_files
  seq_file: Add seq_vprintf function and export it
  GFS2: Use seq_vprintf for glocks debugfs file
  GFS2: Size seq_file buffer more carefully

 fs/gfs2/aops.c  |   18 +-
 fs/gfs2/bmap.c  |   21 +-
 fs/gfs2/dir.c   |9 +-
 fs/gfs2/file.c  |   65 ++--
 fs/gfs2/glock.c |   39 ++-
 fs/gfs2/incore.h|   54 ++-
 fs/gfs2/inode.c |   94 +++---
 fs/gfs2/lops.c  |9 +-
 fs/gfs2/main.c  |1 -
 fs/gfs2/meta_io.c   |5 +-
 fs/gfs2/ops_fstype.c|   36 ++-
 fs/gfs2/quota.c |   72 +++--
 fs/gfs2/rgrp.c  |  833 ---
 fs/gfs2/rgrp.h  |   45 ++-
 fs/gfs2/super.c |   28 ++-
 fs/gfs2/sys.c   |   21 +-
 fs/gfs2/trace_gfs2.h|   59 +++-
 fs/gfs2/trans.h |2 +-
 fs/gfs2/util.h  |   18 +-
 fs/gfs2/xattr.c |   30 +-
 fs/seq_file.c   |   18 +-
 include/linux/gfs2_ondisk.h |   14 +-
 include/linux/seq_file.h|1 +
 23 files changed, 1121 insertions(+), 371 deletions(-)



signature.asc
Description: This is a digitally signed message part