Hi Andrea,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0 next-20190306]
[if your patch is applied to the wrong git tree, please drop us a note to help 
improve the system]

url:    
https://github.com/0day-ci/linux/commits/Andrea-Righi/blkcg-prevent-priority-inversion-problem-during-sync/20190310-020543
config: i386-randconfig-s1-201910 (attached as .config)
compiler: gcc-6 (Debian 6.5.0-2) 6.5.0 20181026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   fs/fs-writeback.c: In function 'sync_inodes_sb':
>> fs/fs-writeback.c:2450:2: error: implicit declaration of function 
>> 'blkcg_start_wb_wait_on_bdi' [-Werror=implicit-function-declaration]
     blkcg_start_wb_wait_on_bdi(bdi);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/fs-writeback.c:2460:2: error: implicit declaration of function 
>> 'blkcg_stop_wb_wait_on_bdi' [-Werror=implicit-function-declaration]
     blkcg_stop_wb_wait_on_bdi(bdi);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/blkcg_start_wb_wait_on_bdi +2450 fs/fs-writeback.c

  2419  
  2420  /**
  2421   * sync_inodes_sb       -       sync sb inode pages
  2422   * @sb: the superblock
  2423   *
  2424   * This function writes and waits on any dirty inode belonging to this
  2425   * super_block.
  2426   */
  2427  void sync_inodes_sb(struct super_block *sb)
  2428  {
  2429          DEFINE_WB_COMPLETION_ONSTACK(done);
  2430          struct wb_writeback_work work = {
  2431                  .sb             = sb,
  2432                  .sync_mode      = WB_SYNC_ALL,
  2433                  .nr_pages       = LONG_MAX,
  2434                  .range_cyclic   = 0,
  2435                  .done           = &done,
  2436                  .reason         = WB_REASON_SYNC,
  2437                  .for_sync       = 1,
  2438          };
  2439          struct backing_dev_info *bdi = sb->s_bdi;
  2440  
  2441          /*
  2442           * Can't skip on !bdi_has_dirty() because we should wait for 
!dirty
  2443           * inodes under writeback and I_DIRTY_TIME inodes ignored by
  2444           * bdi_has_dirty() need to be written out too.
  2445           */
  2446          if (bdi == &noop_backing_dev_info)
  2447                  return;
  2448          WARN_ON(!rwsem_is_locked(&sb->s_umount));
  2449  
> 2450          blkcg_start_wb_wait_on_bdi(bdi);
  2451  
  2452          /* protect against inode wb switch, see 
inode_switch_wbs_work_fn() */
  2453          bdi_down_write_wb_switch_rwsem(bdi);
  2454          bdi_split_work_to_wbs(bdi, &work, false);
  2455          wb_wait_for_completion(bdi, &done);
  2456          bdi_up_write_wb_switch_rwsem(bdi);
  2457  
  2458          wait_sb_inodes(sb);
  2459  
> 2460          blkcg_stop_wb_wait_on_bdi(bdi);
  2461  }
  2462  EXPORT_SYMBOL(sync_inodes_sb);
  2463  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to