:::::: :::::: Manual check reason: "low confidence static check warning: fs/netfs/buffered_write.c:937:2: sparse: sparse: TRIGGER NEW FLUSH GROUP FOR TESTING" ::::::
CC: [email protected] BCC: [email protected] CC: "GNU/Weeb Mailing List" <[email protected]> CC: [email protected] TO: David Howells <[email protected]> tree: https://github.com/ammarfaizi2/linux-block dhowells/linux-fs/netfs-linked-list head: ce4670495468b797b0c5927fcb661bc0da48b9ab commit: ce4670495468b797b0c5927fcb661bc0da48b9ab [61/61] netfs: Add a struct to group modifications together and flushed in order :::::: branch date: 6 days ago :::::: commit date: 6 days ago config: nios2-randconfig-s031-20220707 (https://download.01.org/0day-ci/archive/20220708/[email protected]/config) compiler: nios2-linux-gcc (GCC) 11.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://github.com/ammarfaizi2/linux-block/commit/ce4670495468b797b0c5927fcb661bc0da48b9ab git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block git fetch --no-tags ammarfaizi2-block dhowells/linux-fs/netfs-linked-list git checkout ce4670495468b797b0c5927fcb661bc0da48b9ab # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=nios2 SHELL=/bin/bash fs/netfs/ If you fix the issue, kindly add following tag where applicable Reported-by: kernel test robot <[email protected]> sparse warnings: (new ones prefixed by >>) >> fs/netfs/buffered_write.c:937:2: sparse: sparse: TRIGGER NEW FLUSH GROUP FOR >> TESTING fs/netfs/buffered_write.c:361:28: sparse: sparse: context imbalance in 'netfs_split_off_front' - unexpected unlock vim +937 fs/netfs/buffered_write.c fcf2d3b23ed11b David Howells 2021-06-17 897 fcf2d3b23ed11b David Howells 2021-06-17 898 /** e237ecdc44f74b Jeff Layton 2022-07-01 899 * netfs_file_write_iter_locked - write data to a file fcf2d3b23ed11b David Howells 2021-06-17 900 * @iocb: IO state structure fcf2d3b23ed11b David Howells 2021-06-17 901 * @from: iov_iter with data to write fcf2d3b23ed11b David Howells 2021-06-17 902 * fcf2d3b23ed11b David Howells 2021-06-17 903 * This is a wrapper around __generic_file_write_iter() to be used by most e237ecdc44f74b Jeff Layton 2022-07-01 904 * filesystems that want to deal with the locking themselves. It takes care e237ecdc44f74b Jeff Layton 2022-07-01 905 * of syncing the file in case of O_SYNC. fcf2d3b23ed11b David Howells 2021-06-17 906 * Return: fcf2d3b23ed11b David Howells 2021-06-17 907 * * negative error code if no data has been written at all of fcf2d3b23ed11b David Howells 2021-06-17 908 * vfs_fsync_range() failed for a synchronous write fcf2d3b23ed11b David Howells 2021-06-17 909 * * number of bytes written, even for truncated writes fcf2d3b23ed11b David Howells 2021-06-17 910 */ e237ecdc44f74b Jeff Layton 2022-07-01 911 ssize_t netfs_file_write_iter_locked(struct kiocb *iocb, struct iov_iter *from) fcf2d3b23ed11b David Howells 2021-06-17 912 { fcf2d3b23ed11b David Howells 2021-06-17 913 struct file *file = iocb->ki_filp; fcf2d3b23ed11b David Howells 2021-06-17 914 struct inode *inode = file->f_mapping->host; 07b2258e7d9724 David Howells 2022-02-15 915 struct netfs_inode *ctx = netfs_inode(inode); fcf2d3b23ed11b David Howells 2021-06-17 916 ssize_t ret; fcf2d3b23ed11b David Howells 2021-06-17 917 fcf2d3b23ed11b David Howells 2021-06-17 918 _enter("%llx,%zx,%llx", iocb->ki_pos, iov_iter_count(from), i_size_read(inode)); fcf2d3b23ed11b David Howells 2021-06-17 919 fcf2d3b23ed11b David Howells 2021-06-17 920 ret = generic_write_checks(iocb, from); fcf2d3b23ed11b David Howells 2021-06-17 921 if (ret <= 0) e237ecdc44f74b Jeff Layton 2022-07-01 922 return ret; fcf2d3b23ed11b David Howells 2021-06-17 923 fcf2d3b23ed11b David Howells 2021-06-17 924 trace_netfs_write_iter(iocb, from); fcf2d3b23ed11b David Howells 2021-06-17 925 fcf2d3b23ed11b David Howells 2021-06-17 926 /* We can write back this queue in page reclaim */ fcf2d3b23ed11b David Howells 2021-06-17 927 current->backing_dev_info = inode_to_bdi(inode); fcf2d3b23ed11b David Howells 2021-06-17 928 ret = file_remove_privs(file); fcf2d3b23ed11b David Howells 2021-06-17 929 if (ret) fcf2d3b23ed11b David Howells 2021-06-17 930 goto error; fcf2d3b23ed11b David Howells 2021-06-17 931 fcf2d3b23ed11b David Howells 2021-06-17 932 ret = file_update_time(file); fcf2d3b23ed11b David Howells 2021-06-17 933 if (ret) fcf2d3b23ed11b David Howells 2021-06-17 934 goto error; fcf2d3b23ed11b David Howells 2021-06-17 935 ce4670495468b7 David Howells 2022-02-07 936 { ce4670495468b7 David Howells 2022-02-07 @937 #warning TRIGGER NEW FLUSH GROUP FOR TESTING ce4670495468b7 David Howells 2022-02-07 938 static atomic_t jump; ce4670495468b7 David Howells 2022-02-07 939 ret = netfs_require_flush_group(inode, (atomic_inc_return(&jump) & 3) == 3); ce4670495468b7 David Howells 2022-02-07 940 if (ret < 0) ce4670495468b7 David Howells 2022-02-07 941 goto error; ce4670495468b7 David Howells 2022-02-07 942 } ce4670495468b7 David Howells 2022-02-07 943 07b2258e7d9724 David Howells 2022-02-15 944 ret = netfs_flush_conflicting_writes(ctx, file, iocb->ki_pos, 07b2258e7d9724 David Howells 2022-02-15 945 iov_iter_count(from), NULL); 07b2258e7d9724 David Howells 2022-02-15 946 if (ret < 0 && ret != -EAGAIN) 07b2258e7d9724 David Howells 2022-02-15 947 goto error; 07b2258e7d9724 David Howells 2022-02-15 948 fcf2d3b23ed11b David Howells 2021-06-17 949 if (iocb->ki_flags & IOCB_DIRECT) fcf2d3b23ed11b David Howells 2021-06-17 950 ret = netfs_direct_write_iter(iocb, from); fcf2d3b23ed11b David Howells 2021-06-17 951 else fcf2d3b23ed11b David Howells 2021-06-17 952 ret = netfs_perform_write(iocb, from); fcf2d3b23ed11b David Howells 2021-06-17 953 fcf2d3b23ed11b David Howells 2021-06-17 954 error: fcf2d3b23ed11b David Howells 2021-06-17 955 /* TODO: Wait for DSYNC region here. */ fcf2d3b23ed11b David Howells 2021-06-17 956 current->backing_dev_info = NULL; fcf2d3b23ed11b David Howells 2021-06-17 957 return ret; e237ecdc44f74b Jeff Layton 2022-07-01 958 } e237ecdc44f74b Jeff Layton 2022-07-01 959 EXPORT_SYMBOL(netfs_file_write_iter_locked); e237ecdc44f74b Jeff Layton 2022-07-01 960 -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
