All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: kbuild-all@01.org, Alexander Viro <viro@zeniv.linux.org.uk>,
	Hans de Goede <hdegoede@redhat.com>,
	linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH v8] fs: Add VirtualBox guest shared folder (vboxsf) support
Date: Fri, 8 Mar 2019 02:17:47 +0800	[thread overview]
Message-ID: <201903080246.sK2nAJez%fengguang.wu@intel.com> (raw)
In-Reply-To: <20190307121312.6394-2-hdegoede@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 5435 bytes --]

Hi Hans,

I love your patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.0]
[cannot apply to 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/Hans-de-Goede/fs-Add-VirtualBox-guest-shared-folder-vboxsf-support/20190307-231837
reproduce:
        # apt-get install sparse
        make ARCH=x86_64 allmodconfig
        make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'

All warnings (new ones prefixed by >>):

>> fs/vboxsf/file.c:215:17: sparse: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
   fs/vboxsf/file.c:215:17: sparse:    expected long ( *read )( ... )
   fs/vboxsf/file.c:215:17: sparse:    got long ( * )( ... )
   fs/vboxsf/file.c:217:18: sparse: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
   fs/vboxsf/file.c:217:18: sparse:    expected long ( *write )( ... )
   fs/vboxsf/file.c:217:18: sparse:    got long ( * )( ... )
>> fs/vboxsf/file.c:288:5: sparse: warning: symbol 'sf_write_end' was not declared. Should it be static?

sparse warnings: (new ones prefixed by >>)

   fs/vboxsf/file.c:215:17: sparse: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
>> fs/vboxsf/file.c:215:17: sparse:    expected long ( *read )( ... )
>> fs/vboxsf/file.c:215:17: sparse:    got long ( * )( ... )
   fs/vboxsf/file.c:217:18: sparse: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
>> fs/vboxsf/file.c:217:18: sparse:    expected long ( *write )( ... )
   fs/vboxsf/file.c:217:18: sparse:    got long ( * )( ... )
   fs/vboxsf/file.c:288:5: sparse: warning: symbol 'sf_write_end' was not declared. Should it be static?

vim +215 fs/vboxsf/file.c

   213	
   214	const struct file_operations vboxsf_reg_fops = {
 > 215		.read = sf_reg_read,
   216		.open = sf_reg_open,
 > 217		.write = sf_reg_write,
   218		.release = sf_reg_release,
   219		.mmap = generic_file_mmap,
   220		.splice_read = generic_file_splice_read,
   221		.read_iter = generic_file_read_iter,
   222		.write_iter = generic_file_write_iter,
   223		.fsync = noop_fsync,
   224		.llseek = generic_file_llseek,
   225	};
   226	
   227	const struct inode_operations vboxsf_reg_iops = {
   228		.getattr = vboxsf_getattr,
   229		.setattr = vboxsf_setattr
   230	};
   231	
   232	static int sf_readpage(struct file *file, struct page *page)
   233	{
   234		struct sf_glob_info *sf_g = GET_GLOB_INFO(file_inode(file)->i_sb);
   235		struct sf_reg_info *sf_r = file->private_data;
   236		loff_t off = page_offset(page);
   237		u32 nread = PAGE_SIZE;
   238		u8 *buf;
   239		int err;
   240	
   241		buf = kmap(page);
   242	
   243		err = vboxsf_read(sf_g->root, sf_r->handle, off, &nread, buf, false);
   244		if (err == 0) {
   245			memset(&buf[nread], 0, PAGE_SIZE - nread);
   246			flush_dcache_page(page);
   247			SetPageUptodate(page);
   248		} else {
   249			SetPageError(page);
   250		}
   251	
   252		kunmap(page);
   253		unlock_page(page);
   254		return err;
   255	}
   256	
   257	static int sf_writepage(struct page *page, struct writeback_control *wbc)
   258	{
   259		struct inode *inode = page->mapping->host;
   260		struct sf_glob_info *sf_g = GET_GLOB_INFO(inode->i_sb);
   261		struct sf_inode_info *sf_i = GET_INODE_INFO(inode);
   262		struct sf_reg_info *sf_r = sf_i->file->private_data;
   263		loff_t off = page_offset(page);
   264		loff_t size = i_size_read(inode);
   265		u32 nwrite = PAGE_SIZE;
   266		u8 *buf;
   267		int err;
   268	
   269		if (off + PAGE_SIZE > size)
   270			nwrite = size & ~PAGE_MASK;
   271	
   272		buf = kmap(page);
   273		err = vboxsf_write(sf_g->root, sf_r->handle, off, &nwrite, buf, false);
   274		kunmap(page);
   275	
   276		if (err == 0) {
   277			ClearPageError(page);
   278			/* mtime changed */
   279			sf_i->force_restat = 1;
   280		} else {
   281			ClearPageUptodate(page);
   282		}
   283	
   284		unlock_page(page);
   285		return err;
   286	}
   287	
 > 288	int sf_write_end(struct file *file, struct address_space *mapping, loff_t pos,
   289			 unsigned int len, unsigned int copied, struct page *page,
   290			 void *fsdata)
   291	{
   292		struct inode *inode = mapping->host;
   293		struct sf_glob_info *sf_g = GET_GLOB_INFO(inode->i_sb);
   294		struct sf_reg_info *sf_r = file->private_data;
   295		unsigned int from = pos & ~PAGE_MASK;
   296		u32 nwritten = len;
   297		u8 *buf;
   298		int err;
   299	
   300		buf = kmap(page);
   301		err = vboxsf_write(sf_g->root, sf_r->handle, pos, &nwritten,
   302				   buf + from, false);
   303		kunmap(page);
   304	
   305		if (err) {
   306			nwritten = 0;
   307			goto out;
   308		}
   309	
   310		/* mtime changed */
   311		GET_INODE_INFO(inode)->force_restat = 1;
   312	
   313		if (!PageUptodate(page) && nwritten == PAGE_SIZE)
   314			SetPageUptodate(page);
   315	
   316		pos += nwritten;
   317		if (pos > inode->i_size)
   318			i_size_write(inode, pos);
   319	
   320	out:
   321		unlock_page(page);
   322		put_page(page);
   323	
   324		return nwritten;
   325	}
   326	

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

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 67476 bytes --]

  reply	other threads:[~2019-03-07 18:18 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-07 12:13 [PATCH v8 0/1] fs: Add VirtualBox guest shared folder (vboxsf) support Hans de Goede
2019-03-07 12:13 ` [PATCH v8] " Hans de Goede
2019-03-07 18:17   ` kbuild test robot [this message]
2019-03-08 12:54   ` kbuild test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=201903080246.sK2nAJez%fengguang.wu@intel.com \
    --to=lkp@intel.com \
    --cc=hdegoede@redhat.com \
    --cc=kbuild-all@01.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.