CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Qu Wenruo <[email protected]>
TO: [email protected]

Hi Qu,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on v5.9-rc5]
[also build test WARNING on next-20200915]
[cannot apply to kdave/for-next btrfs/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Qu-Wenruo/btrfs-add-read-only-support-for-subpage-sector-size/20200915-133811
base:    856deb866d16e29bd65952e0289066f6078af773
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: x86_64-randconfig-s022-20200914 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
        # apt-get install sparse
        # sparse version: v0.6.2-191-g10164920-dirty
        # save the attached .config to linux build tree
        make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>


sparse warnings: (new ones prefixed by >>)

   fs/btrfs/extent_io.c:2327:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   fs/btrfs/extent_io.c:2327:9: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/extent_io.c:2327:9: sparse:    struct rcu_string *
>> fs/btrfs/extent_io.c:4960:13: sparse: sparse: context imbalance in 
>> 'detach_extent_buffer_subpage' - different lock contexts for basic block
   fs/btrfs/extent_io.c: note: in included file (through 
include/linux/mmzone.h, include/linux/gfp.h, include/linux/slab.h):
   include/linux/page-flags.h:182:30: sparse: sparse: context imbalance in 
'btrfs_release_extent_buffer_pages' - different lock contexts for basic block

# 
https://github.com/0day-ci/linux/commit/e501596ccc2e9c62fe48af688b4f89376d799864
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review 
Qu-Wenruo/btrfs-add-read-only-support-for-subpage-sector-size/20200915-133811
git checkout e501596ccc2e9c62fe48af688b4f89376d799864
vim +/detach_extent_buffer_subpage +4960 fs/btrfs/extent_io.c

db7f3436c1c186 Josef Bacik 2013-08-07  4959  
e501596ccc2e9c Qu Wenruo   2020-09-15 @4960  static void 
detach_extent_buffer_subpage(struct extent_buffer *eb)
e501596ccc2e9c Qu Wenruo   2020-09-15  4961  {
e501596ccc2e9c Qu Wenruo   2020-09-15  4962     struct btrfs_fs_info *fs_info = 
eb->fs_info;
e501596ccc2e9c Qu Wenruo   2020-09-15  4963     struct extent_io_tree *io_tree 
= info_to_btree_io_tree(fs_info);
e501596ccc2e9c Qu Wenruo   2020-09-15  4964     struct page *page = 
eb->pages[0];
e501596ccc2e9c Qu Wenruo   2020-09-15  4965     bool mapped = 
!test_bit(EXTENT_BUFFER_UNMAPPED, &eb->bflags);
e501596ccc2e9c Qu Wenruo   2020-09-15  4966     int ret;
e501596ccc2e9c Qu Wenruo   2020-09-15  4967  
e501596ccc2e9c Qu Wenruo   2020-09-15  4968     if (!page)
e501596ccc2e9c Qu Wenruo   2020-09-15  4969             return;
e501596ccc2e9c Qu Wenruo   2020-09-15  4970  
e501596ccc2e9c Qu Wenruo   2020-09-15  4971     if (mapped)
e501596ccc2e9c Qu Wenruo   2020-09-15  4972             
spin_lock(&page->mapping->private_lock);
e501596ccc2e9c Qu Wenruo   2020-09-15  4973  
e501596ccc2e9c Qu Wenruo   2020-09-15  4974     /*
e501596ccc2e9c Qu Wenruo   2020-09-15  4975      * Clear the EXTENT_NEW bit 
from io tree, to indicate that there is
e501596ccc2e9c Qu Wenruo   2020-09-15  4976      * no longer an extent buffer 
in the range.
e501596ccc2e9c Qu Wenruo   2020-09-15  4977      */
e501596ccc2e9c Qu Wenruo   2020-09-15  4978     __clear_extent_bit(io_tree, 
eb->start, eb->start + eb->len - 1,
e501596ccc2e9c Qu Wenruo   2020-09-15  4979                        EXTENT_NEW, 
0, 0, NULL, GFP_ATOMIC, NULL);
e501596ccc2e9c Qu Wenruo   2020-09-15  4980  
e501596ccc2e9c Qu Wenruo   2020-09-15  4981     /* Test if we still have other 
extent buffer in the page range */
e501596ccc2e9c Qu Wenruo   2020-09-15  4982     ret = test_range_bit(io_tree, 
round_down(eb->start, PAGE_SIZE),
e501596ccc2e9c Qu Wenruo   2020-09-15  4983                          
round_down(eb->start, PAGE_SIZE) + PAGE_SIZE - 1,
e501596ccc2e9c Qu Wenruo   2020-09-15  4984                          
EXTENT_NEW, 0, NULL);
e501596ccc2e9c Qu Wenruo   2020-09-15  4985     if (!ret)
e501596ccc2e9c Qu Wenruo   2020-09-15  4986             
detach_page_private(eb->pages[0]);
e501596ccc2e9c Qu Wenruo   2020-09-15  4987     if (mapped)
e501596ccc2e9c Qu Wenruo   2020-09-15  4988             
spin_unlock(&page->mapping->private_lock);
e501596ccc2e9c Qu Wenruo   2020-09-15  4989  }
e501596ccc2e9c Qu Wenruo   2020-09-15  4990  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to