CC: [email protected] BCC: [email protected] CC: [email protected] TO: Trond Myklebust <[email protected]>
tree: git://git.linux-nfs.org/projects/trondmy/nfs-2.6.git testing head: b9d284d92b8b0f614c96193391741893d3680c89 commit: bf5e5c86c50f9dbbda976beb6d59bfac31302f5e [107/109] NFS: Don't report ENOSPC write errors twice :::::: branch date: 16 hours ago :::::: commit date: 16 hours ago config: i386-randconfig-m021-20220411 (https://download.01.org/0day-ci/archive/20220412/[email protected]/config) compiler: gcc-11 (Debian 11.2.0-19) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> smatch warnings: fs/nfs/file.c:679 nfs_file_write() error: uninitialized symbol 'written'. vim +/written +679 fs/nfs/file.c 94387fb1aa16ee Trond Myklebust 2007-07-22 600 edaf43694898c5 Al Viro 2014-04-03 601 ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from) ^1da177e4c3f41 Linus Torvalds 2005-04-16 602 { 6de1472f1a4a3b Al Viro 2013-09-16 603 struct file *file = iocb->ki_filp; 6de1472f1a4a3b Al Viro 2013-09-16 604 struct inode *inode = file_inode(file); ed7bcdb374d20f Trond Myklebust 2021-02-12 605 unsigned int mntflags = NFS_SERVER(inode)->flags; ed7bcdb374d20f Trond Myklebust 2021-02-12 606 ssize_t result, written; ce368536dd6144 Scott Mayhew 2020-08-01 607 errseq_t since; ce368536dd6144 Scott Mayhew 2020-08-01 608 int error; ^1da177e4c3f41 Linus Torvalds 2005-04-16 609 6de1472f1a4a3b Al Viro 2013-09-16 610 result = nfs_key_timeout_notify(file, inode); dc24826bfca8d7 Andy Adamson 2013-08-14 611 if (result) dc24826bfca8d7 Andy Adamson 2013-08-14 612 return result; dc24826bfca8d7 Andy Adamson 2013-08-14 613 89698b24d24f9c Trond Myklebust 2016-06-23 614 if (iocb->ki_flags & IOCB_DIRECT) 64158668ac8b31 NeilBrown 2022-03-07 615 return nfs_file_direct_write(iocb, from, false); ^1da177e4c3f41 Linus Torvalds 2005-04-16 616 619d30b4b8c488 Al Viro 2014-03-04 617 dprintk("NFS: write(%pD2, %zu@%Ld)\n", 18290650b1c865 Trond Myklebust 2016-06-23 618 file, iov_iter_count(from), (long long) iocb->ki_pos); ^1da177e4c3f41 Linus Torvalds 2005-04-16 619 ^1da177e4c3f41 Linus Torvalds 2005-04-16 620 if (IS_SWAPFILE(inode)) ^1da177e4c3f41 Linus Torvalds 2005-04-16 621 goto out_swapfile; 7d52e86274e09f Trond Myklebust 2005-06-22 622 /* 7d52e86274e09f Trond Myklebust 2005-06-22 623 * O_APPEND implies that we must revalidate the file length. 7d52e86274e09f Trond Myklebust 2005-06-22 624 */ fc9dc401899ab2 Trond Myklebust 2021-02-08 625 if (iocb->ki_flags & IOCB_APPEND || iocb->ki_pos > i_size_read(inode)) { 6de1472f1a4a3b Al Viro 2013-09-16 626 result = nfs_revalidate_file_size(inode, file); ^1da177e4c3f41 Linus Torvalds 2005-04-16 627 if (result) bf5e5c86c50f9d Trond Myklebust 2022-04-09 628 return result; fe51beecc55d0b Trond Myklebust 2005-06-22 629 } ^1da177e4c3f41 Linus Torvalds 2005-04-16 630 28aa2f9e73e762 Trond Myklebust 2021-02-08 631 nfs_clear_invalid_mapping(file->f_mapping); 28aa2f9e73e762 Trond Myklebust 2021-02-08 632 ce368536dd6144 Scott Mayhew 2020-08-01 633 since = filemap_sample_wb_err(file->f_mapping); a5864c999de670 Trond Myklebust 2016-06-03 634 nfs_start_io_write(inode); 18290650b1c865 Trond Myklebust 2016-06-23 635 result = generic_write_checks(iocb, from); 18290650b1c865 Trond Myklebust 2016-06-23 636 if (result > 0) { 18290650b1c865 Trond Myklebust 2016-06-23 637 current->backing_dev_info = inode_to_bdi(inode); 18290650b1c865 Trond Myklebust 2016-06-23 638 result = generic_perform_write(file, from, iocb->ki_pos); 18290650b1c865 Trond Myklebust 2016-06-23 639 current->backing_dev_info = NULL; 18290650b1c865 Trond Myklebust 2016-06-23 640 } a5864c999de670 Trond Myklebust 2016-06-03 641 nfs_end_io_write(inode); 18290650b1c865 Trond Myklebust 2016-06-23 642 if (result <= 0) ^1da177e4c3f41 Linus Torvalds 2005-04-16 643 goto out; ^1da177e4c3f41 Linus Torvalds 2005-04-16 644 c49edecd513693 Trond Myklebust 2016-09-03 645 written = result; 18290650b1c865 Trond Myklebust 2016-06-23 646 iocb->ki_pos += written; ed7bcdb374d20f Trond Myklebust 2021-02-12 647 ed7bcdb374d20f Trond Myklebust 2021-02-12 648 if (mntflags & NFS_MOUNT_WRITE_EAGER) { ed7bcdb374d20f Trond Myklebust 2021-02-12 649 result = filemap_fdatawrite_range(file->f_mapping, ed7bcdb374d20f Trond Myklebust 2021-02-12 650 iocb->ki_pos - written, ed7bcdb374d20f Trond Myklebust 2021-02-12 651 iocb->ki_pos - 1); ed7bcdb374d20f Trond Myklebust 2021-02-12 652 if (result < 0) ed7bcdb374d20f Trond Myklebust 2021-02-12 653 goto out; ed7bcdb374d20f Trond Myklebust 2021-02-12 654 } ed7bcdb374d20f Trond Myklebust 2021-02-12 655 if (mntflags & NFS_MOUNT_WRITE_WAIT) { ed7bcdb374d20f Trond Myklebust 2021-02-12 656 result = filemap_fdatawait_range(file->f_mapping, ed7bcdb374d20f Trond Myklebust 2021-02-12 657 iocb->ki_pos - written, ed7bcdb374d20f Trond Myklebust 2021-02-12 658 iocb->ki_pos - 1); ed7bcdb374d20f Trond Myklebust 2021-02-12 659 if (result < 0) ed7bcdb374d20f Trond Myklebust 2021-02-12 660 goto out; ed7bcdb374d20f Trond Myklebust 2021-02-12 661 } e973b1a5999e57 [email protected] 2017-09-07 662 result = generic_write_sync(iocb, written); e973b1a5999e57 [email protected] 2017-09-07 663 if (result < 0) bf5e5c86c50f9d Trond Myklebust 2022-04-09 664 return result; bf5e5c86c50f9d Trond Myklebust 2022-04-09 665 out: 7e94d6c4ab6956 Trond Myklebust 2015-08-17 666 /* Return error values */ ce368536dd6144 Scott Mayhew 2020-08-01 667 error = filemap_check_wb_err(file->f_mapping, since); bf5e5c86c50f9d Trond Myklebust 2022-04-09 668 switch (error) { bf5e5c86c50f9d Trond Myklebust 2022-04-09 669 default: bf5e5c86c50f9d Trond Myklebust 2022-04-09 670 break; bf5e5c86c50f9d Trond Myklebust 2022-04-09 671 case -EDQUOT: bf5e5c86c50f9d Trond Myklebust 2022-04-09 672 case -EFBIG: bf5e5c86c50f9d Trond Myklebust 2022-04-09 673 case -ENOSPC: bf5e5c86c50f9d Trond Myklebust 2022-04-09 674 nfs_wb_all(inode); bf5e5c86c50f9d Trond Myklebust 2022-04-09 675 error = file_check_and_advance_wb_err(file); bf5e5c86c50f9d Trond Myklebust 2022-04-09 676 if (error < 0) bf5e5c86c50f9d Trond Myklebust 2022-04-09 677 result = error; 200baa2112012d Trond Myklebust 2006-12-05 678 } 7e381172cf6e02 Chuck Lever 2010-02-01 @679 nfs_add_stats(inode, NFSIOS_NORMALWRITTENBYTES, written); ^1da177e4c3f41 Linus Torvalds 2005-04-16 680 return result; ^1da177e4c3f41 Linus Torvalds 2005-04-16 681 ^1da177e4c3f41 Linus Torvalds 2005-04-16 682 out_swapfile: ^1da177e4c3f41 Linus Torvalds 2005-04-16 683 printk(KERN_INFO "NFS: attempt to write to active swap file!\n"); 89658c4d04c766 Anna Schumaker 2019-11-08 684 return -ETXTBSY; ^1da177e4c3f41 Linus Torvalds 2005-04-16 685 } 89d77c8fa8e6d1 Bryan Schumaker 2012-07-30 686 EXPORT_SYMBOL_GPL(nfs_file_write); ^1da177e4c3f41 Linus Torvalds 2005-04-16 687 :::::: The code at line 679 was first introduced by commit :::::: 7e381172cf6e0282a56374e50667515aed55166a NFS: Improve NFS iostat byte count accuracy for writes :::::: TO: Chuck Lever <[email protected]> :::::: CC: Trond Myklebust <[email protected]> -- 0-DAY CI Kernel Test Service https://01.org/lkp _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
