tree: https://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup-btrfs-metadata-v2 head: 5fcd5b307c005767bf759179da8f346defd6f328 commit: 5fcd5b307c005767bf759179da8f346defd6f328 [5/5] btrfs: ensure that metadata and flush are issued from the root cgroup config: i386-randconfig-x001-201741 (attached as .config) compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901 reproduce: git checkout 5fcd5b307c005767bf759179da8f346defd6f328 # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): fs/btrfs/check-integrity.c: In function 'btrfsic_submit_bh': >> fs/btrfs/check-integrity.c:2744:44: error: passing argument 3 of 'submit_bh_blkcg_css' from incompatible pointer type [-Werror=incompatible-pointer-types] return submit_bh_blkcg_css(op, op_flags, blkcg_root_css); ^~~~~~~~~~~~~~ In file included from fs/btrfs/check-integrity.c:93:0: include/linux/buffer_head.h:201:5: note: expected 'struct buffer_head *' but argument is of type 'struct cgroup_subsys_state * const' int submit_bh_blkcg_css(int op, int op_flags, struct buffer_head *bh, ^~~~~~~~~~~~~~~~~~~ >> fs/btrfs/check-integrity.c:2744:10: error: too few arguments to function 'submit_bh_blkcg_css' return submit_bh_blkcg_css(op, op_flags, blkcg_root_css); ^~~~~~~~~~~~~~~~~~~ In file included from fs/btrfs/check-integrity.c:93:0: include/linux/buffer_head.h:201:5: note: declared here int submit_bh_blkcg_css(int op, int op_flags, struct buffer_head *bh, ^~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/submit_bh_blkcg_css +2744 fs/btrfs/check-integrity.c 2738 2739 int btrfsic_submit_bh(int op, int op_flags, struct buffer_head *bh) 2740 { 2741 struct btrfsic_dev_state *dev_state; 2742 2743 if (!btrfsic_is_initialized) > 2744 return submit_bh_blkcg_css(op, op_flags, blkcg_root_css); 2745 2746 mutex_lock(&btrfsic_mutex); 2747 /* since btrfsic_submit_bh() might also be called before 2748 * btrfsic_mount(), this might return NULL */ 2749 dev_state = btrfsic_dev_state_lookup(bh->b_bdev->bd_dev); 2750 2751 /* Only called to write the superblock (incl. FLUSH/FUA) */ 2752 if (NULL != dev_state && 2753 (op == REQ_OP_WRITE) && bh->b_size > 0) { 2754 u64 dev_bytenr; 2755 2756 dev_bytenr = BTRFS_BDEV_BLOCKSIZE * bh->b_blocknr; 2757 if (dev_state->state->print_mask & 2758 BTRFSIC_PRINT_MASK_SUBMIT_BIO_BH) 2759 pr_info("submit_bh(op=0x%x,0x%x, blocknr=%llu (bytenr %llu), size=%zu, data=%p, bdev=%p)\n", 2760 op, op_flags, (unsigned long long)bh->b_blocknr, 2761 dev_bytenr, bh->b_size, bh->b_data, bh->b_bdev); 2762 btrfsic_process_written_block(dev_state, dev_bytenr, 2763 &bh->b_data, 1, NULL, 2764 NULL, bh, op_flags); 2765 } else if (NULL != dev_state && (op_flags & REQ_PREFLUSH)) { 2766 if (dev_state->state->print_mask & 2767 BTRFSIC_PRINT_MASK_SUBMIT_BIO_BH) 2768 pr_info("submit_bh(op=0x%x,0x%x FLUSH, bdev=%p)\n", 2769 op, op_flags, bh->b_bdev); 2770 if (!dev_state->dummy_block_for_bio_bh_flush.is_iodone) { 2771 if ((dev_state->state->print_mask & 2772 (BTRFSIC_PRINT_MASK_SUBMIT_BIO_BH | 2773 BTRFSIC_PRINT_MASK_VERBOSE))) 2774 pr_info("btrfsic_submit_bh(%s) with FLUSH but dummy block already in use (ignored)!\n", 2775 dev_state->name); 2776 } else { 2777 struct btrfsic_block *const block = 2778 &dev_state->dummy_block_for_bio_bh_flush; 2779 2780 block->is_iodone = 0; 2781 block->never_written = 0; 2782 block->iodone_w_error = 0; 2783 block->flush_gen = dev_state->last_flush_gen + 1; 2784 block->submit_bio_bh_rw = op_flags; 2785 block->orig_bio_bh_private = bh->b_private; 2786 block->orig_bio_bh_end_io.bh = bh->b_end_io; 2787 block->next_in_same_bio = NULL; 2788 bh->b_private = block; 2789 bh->b_end_io = btrfsic_bh_end_io; 2790 } 2791 } 2792 mutex_unlock(&btrfsic_mutex); 2793 return submit_bh(op, op_flags, bh); 2794 } 2795 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip