GFS2: Pull request (merge window)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
- 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)
- 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)
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)
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)
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)
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
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
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)
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)
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)
On Fri, May 5, 2017 at 1:28 PM, Bob Petersonwrote: > > 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)
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)
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)
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)
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)
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
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
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)
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)
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)
(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)
(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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
- 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)
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)
- 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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
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)
[ 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)
[ 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)
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)
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