Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:
"We have a few regression fixes for qgroup rescan status tracking and
the vm_fault_t conversion that mixed up the error values"

* tag 'for-4.18-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
Btrfs: fix mount failure when qgroup rescan is in progress
Btrfs: fix regression in btrfs_page_mkwrite() from vm_fault_t conversion
btrfs: quota: Set rescan progress to (u64)-1 if we hit last leaf

+15 -5
+2 -1
fs/btrfs/inode.c
··· 9005 9005 9006 9006 unlock_extent_cached(io_tree, page_start, page_end, &cached_state); 9007 9007 9008 - out_unlock: 9009 9008 if (!ret2) { 9010 9009 btrfs_delalloc_release_extents(BTRFS_I(inode), PAGE_SIZE, true); 9011 9010 sb_end_pagefault(inode->i_sb); 9012 9011 extent_changeset_free(data_reserved); 9013 9012 return VM_FAULT_LOCKED; 9014 9013 } 9014 + 9015 + out_unlock: 9015 9016 unlock_page(page); 9016 9017 out: 9017 9018 btrfs_delalloc_release_extents(BTRFS_I(inode), PAGE_SIZE, (ret != 0));
+13 -4
fs/btrfs/qgroup.c
··· 2680 2680 free_extent_buffer(scratch_leaf); 2681 2681 } 2682 2682 2683 - if (done && !ret) 2683 + if (done && !ret) { 2684 2684 ret = 1; 2685 + fs_info->qgroup_rescan_progress.objectid = (u64)-1; 2686 + } 2685 2687 return ret; 2686 2688 } 2687 2689 ··· 2786 2784 2787 2785 if (!init_flags) { 2788 2786 /* we're resuming qgroup rescan at mount time */ 2789 - if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_RESCAN)) 2787 + if (!(fs_info->qgroup_flags & 2788 + BTRFS_QGROUP_STATUS_FLAG_RESCAN)) { 2790 2789 btrfs_warn(fs_info, 2791 2790 "qgroup rescan init failed, qgroup is not enabled"); 2792 - else if (!(fs_info->qgroup_flags & BTRFS_QGROUP_STATUS_FLAG_ON)) 2791 + ret = -EINVAL; 2792 + } else if (!(fs_info->qgroup_flags & 2793 + BTRFS_QGROUP_STATUS_FLAG_ON)) { 2793 2794 btrfs_warn(fs_info, 2794 2795 "qgroup rescan init failed, qgroup rescan is not queued"); 2795 - return -EINVAL; 2796 + ret = -EINVAL; 2797 + } 2798 + 2799 + if (ret) 2800 + return ret; 2796 2801 } 2797 2802 2798 2803 mutex_lock(&fs_info->qgroup_rescan_lock);