Re: [GIT PULL] xfs: new code for 5.8 (now with fixed To line)
On Tue, Jun 02, 2020 at 07:40:35PM -0700, Linus Torvalds wrote: > On Tue, Jun 2, 2020 at 9:26 AM Darrick J. Wong wrote: > > > > fs/xfs/xfs_log_recover.c | 2561 > > ++-- > > 102 files changed, 4244 insertions(+), 4817 deletions(-) > > Interestingly, the changes to that xfs_log_recover.c file really seem > to break the default git diff algorithm (the linear-space Myers' > algorithm) > > The default settings give me > > fs/xfs/xfs_log_recover.c | 2801 > ++-- > 102 files changed, 4366 insertions(+), 4939 deletions(-) > > which is not very close to yours. With the extra effort "--minimal" I get > > fs/xfs/xfs_log_recover.c | 2561 > ++-- > 102 files changed, 4246 insertions(+), 4819 deletions(-) > > but based on your output, I suspect you used "--patience", which gives that > > fs/xfs/xfs_log_recover.c | 2561 > ++-- > 102 files changed, 4244 insertions(+), 4817 deletions(-) > > output (the difference there wrt minimal came from > fs/xfs/libxfs/xfs_symlink_remote.c). > > I'm used to seeing small differences in the line counts due to > different diff heuristics, but that 250 line difference for > "--patience" is more than you usually get. > > None of this matters, and I'm not at all suggesting you change any of > your workflow. One of the XFS developers suggested I experiment with --patience to see if it would make the diff output a little less eager to minimize the changed lines even at the expense of reviewability. The outcome is mostly identical, but there were a few places where using it really did help to try to keep basic code blocks together. --D > I'm just commenting because I was going "why am I not getting a > matching diffstat", and while I'm used to seeing small differences > from diff algorithms, that 240 line-count change was really a lot more > than I normally encounter. > > Linus >
Re: [GIT PULL] xfs: new code for 5.8
The pull request you sent on Tue, 2 Jun 2020 09:09:08 -0700: > git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.8-merge-8 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/16d91548d1057691979de4686693f0ff92f46000 Thank you! -- Deet-doot-dot, I am a bot. https://korg.wiki.kernel.org/userdoc/prtracker
Re: [GIT PULL] xfs: new code for 5.8 (now with fixed To line)
On Tue, Jun 2, 2020 at 9:26 AM Darrick J. Wong wrote: > > fs/xfs/xfs_log_recover.c | 2561 ++-- > 102 files changed, 4244 insertions(+), 4817 deletions(-) Interestingly, the changes to that xfs_log_recover.c file really seem to break the default git diff algorithm (the linear-space Myers' algorithm) The default settings give me fs/xfs/xfs_log_recover.c | 2801 ++-- 102 files changed, 4366 insertions(+), 4939 deletions(-) which is not very close to yours. With the extra effort "--minimal" I get fs/xfs/xfs_log_recover.c | 2561 ++-- 102 files changed, 4246 insertions(+), 4819 deletions(-) but based on your output, I suspect you used "--patience", which gives that fs/xfs/xfs_log_recover.c | 2561 ++-- 102 files changed, 4244 insertions(+), 4817 deletions(-) output (the difference there wrt minimal came from fs/xfs/libxfs/xfs_symlink_remote.c). I'm used to seeing small differences in the line counts due to different diff heuristics, but that 250 line difference for "--patience" is more than you usually get. None of this matters, and I'm not at all suggesting you change any of your workflow. I'm just commenting because I was going "why am I not getting a matching diffstat", and while I'm used to seeing small differences from diff algorithms, that 240 line-count change was really a lot more than I normally encounter. Linus
[GIT PULL] xfs: new code for 5.8 (now with fixed To line)
Sorry Linus, I totally FUBARed the addressing on the pull request. Resending directly to you so that it doesn't get lost in the spam folder. --D --- Hi Linus, Please pull the new XFS code for 5.8. Most of the changes this cycle are refactoring of existing code in preparation for things landing in the future. We also fixed various problems and deficiencies in the quota implementation, and (I hope) the last of the stale read vectors by forcing write allocations to go through the unwritten state until the write completes. This branch merges cleanly with master as of a few minutes ago, so please let me know if anything strange happens. I anticipate a second pull request next week for a DAX-related restructuring that requires the DAX branch (sent separately). --D The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd: Linux 5.7-rc4 (2020-05-03 14:56:04 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.8-merge-8 for you to fetch changes up to 6dcde60efd946e38fac8d276a6ca47492103e856: xfs: more lockdep whackamole with kmem_alloc* (2020-05-27 08:49:28 -0700) New code for 5.8: - Various cleanups to remove dead code, unnecessary conditionals, asserts, etc. - Fix a linker warning caused by xfs stuffing '-g' into CFLAGS redundantly. - Tighten up our dmesg logging to ensure that everything is prefixed with 'XFS' for easier grepping. - Kill a bunch of typedefs. - Refactor the deferred ops code to reduce indirect function calls. - Increase type-safety with the deferred ops code. - Make the DAX mount options a tri-state. - Fix some error handling problems in the inode flush code and clean up other inode flush warts. - Refactor log recovery so that each log item recovery functions now live with the other log item processing code. - Fix some SPDX forms. - Fix quota counter corruption if the fs crashes after running quotacheck but before any dquots get logged. - Don't fail metadata verification on zero-entry attr leaf blocks, since they're just part of the disk format now due to a historic lack of log atomicity. - Don't allow SWAPEXT between files with different [ugp]id when quotas are enabled. - Refactor inode fork reading and verification to run directly from the inode-from-disk function. This means that we now actually guarantee that _iget'ted inodes are totally verified and ready to go. - Move the incore inode fork format and extent counts to the ifork structure. - Scalability improvements by reducing cacheline pingponging in struct xfs_mount. - More scalability improvements by removing m_active_trans from the hot path. - Fix inode counter update sanity checking to run /only/ on debug kernels. - Fix longstanding inconsistency in what error code we return when a program hits project quota limits (ENOSPC). - Fix group quota returning the wrong error code when a program hits group quota limits. - Fix per-type quota limits and grace periods for group and project quotas so that they actually work. - Allow extension of individual grace periods. - Refactor the non-reclaim inode radix tree walking code to remove a bunch of stupid little functions and straighten out the inconsistent naming schemes. - Fix a bug in speculative preallocation where we measured a new allocation based on the last extent mapping in the file instead of looking farther for the last contiguous space allocation. - Force delalloc writes to unwritten extents. This closes a stale disk contents exposure vector if the system goes down before the write completes. - More lockdep whackamole. Arnd Bergmann (1): xfs: stop CONFIG_XFS_DEBUG from changing compiler flags Brian Foster (19): xfs: refactor failed buffer resubmission into xfsaild xfs: factor out buffer I/O failure code xfs: simplify inode flush error handling xfs: remove unnecessary shutdown check from xfs_iflush() xfs: reset buffer write failure state on successful completion xfs: refactor ratelimited buffer error messages into helper xfs: ratelimit unmount time per-buffer I/O error alert xfs: fix duplicate verification from xfs_qm_dqflush() xfs: abort consistently on dquot flush failure xfs: acquire ->ail_lock from xfs_trans_ail_delete() xfs: use delete helper for items expected to be in AIL xfs: drop unused shutdown parameter from xfs_trans_ail_remove() xfs: combine xfs_trans_ail_[remove|delete]() xfs: remove unused iflush stale parameter xfs: random buffer write failure errortag xfs: remove unused shutdown types xfs: remove
[GIT PULL] xfs: new code for 5.8
Hi Linus, Please pull the new XFS code for 5.8. Most of the changes this cycle are refactoring of existing code in preparation for things landing in the future. We also fixed various problems and deficiencies in the quota implementation, and (I hope) the last of the stale read vectors by forcing write allocations to go through the unwritten state until the write completes. This branch merges cleanly with master as of a few minutes ago, so please let me know if anything strange happens. I anticipate a second pull request next week for a DAX-related restructuring that requires the DAX branch (sent separately). --D The following changes since commit 0e698dfa282211e414076f9dc7e83c1c288314fd: Linux 5.7-rc4 (2020-05-03 14:56:04 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/fs/xfs/xfs-linux.git tags/xfs-5.8-merge-8 for you to fetch changes up to 6dcde60efd946e38fac8d276a6ca47492103e856: xfs: more lockdep whackamole with kmem_alloc* (2020-05-27 08:49:28 -0700) New code for 5.8: - Various cleanups to remove dead code, unnecessary conditionals, asserts, etc. - Fix a linker warning caused by xfs stuffing '-g' into CFLAGS redundantly. - Tighten up our dmesg logging to ensure that everything is prefixed with 'XFS' for easier grepping. - Kill a bunch of typedefs. - Refactor the deferred ops code to reduce indirect function calls. - Increase type-safety with the deferred ops code. - Make the DAX mount options a tri-state. - Fix some error handling problems in the inode flush code and clean up other inode flush warts. - Refactor log recovery so that each log item recovery functions now live with the other log item processing code. - Fix some SPDX forms. - Fix quota counter corruption if the fs crashes after running quotacheck but before any dquots get logged. - Don't fail metadata verification on zero-entry attr leaf blocks, since they're just part of the disk format now due to a historic lack of log atomicity. - Don't allow SWAPEXT between files with different [ugp]id when quotas are enabled. - Refactor inode fork reading and verification to run directly from the inode-from-disk function. This means that we now actually guarantee that _iget'ted inodes are totally verified and ready to go. - Move the incore inode fork format and extent counts to the ifork structure. - Scalability improvements by reducing cacheline pingponging in struct xfs_mount. - More scalability improvements by removing m_active_trans from the hot path. - Fix inode counter update sanity checking to run /only/ on debug kernels. - Fix longstanding inconsistency in what error code we return when a program hits project quota limits (ENOSPC). - Fix group quota returning the wrong error code when a program hits group quota limits. - Fix per-type quota limits and grace periods for group and project quotas so that they actually work. - Allow extension of individual grace periods. - Refactor the non-reclaim inode radix tree walking code to remove a bunch of stupid little functions and straighten out the inconsistent naming schemes. - Fix a bug in speculative preallocation where we measured a new allocation based on the last extent mapping in the file instead of looking farther for the last contiguous space allocation. - Force delalloc writes to unwritten extents. This closes a stale disk contents exposure vector if the system goes down before the write completes. - More lockdep whackamole. Arnd Bergmann (1): xfs: stop CONFIG_XFS_DEBUG from changing compiler flags Brian Foster (19): xfs: refactor failed buffer resubmission into xfsaild xfs: factor out buffer I/O failure code xfs: simplify inode flush error handling xfs: remove unnecessary shutdown check from xfs_iflush() xfs: reset buffer write failure state on successful completion xfs: refactor ratelimited buffer error messages into helper xfs: ratelimit unmount time per-buffer I/O error alert xfs: fix duplicate verification from xfs_qm_dqflush() xfs: abort consistently on dquot flush failure xfs: acquire ->ail_lock from xfs_trans_ail_delete() xfs: use delete helper for items expected to be in AIL xfs: drop unused shutdown parameter from xfs_trans_ail_remove() xfs: combine xfs_trans_ail_[remove|delete]() xfs: remove unused iflush stale parameter xfs: random buffer write failure errortag xfs: remove unused shutdown types xfs: remove unused iget_flags param from xfs_imap_to_bp() xfs: fix unused variable warning in buffer completion on !DEBUG xfs: don't fail verifier on