Btrfs: fix sparse warning

Fix the following sparse warning:
fs/btrfs/send.c:518:51: warning: incorrect type in argument 2 (different address spaces)
fs/btrfs/send.c:518:51:    expected char const [noderef] <asn:1>*<noident>
fs/btrfs/send.c:518:51:    got char *

We can safely use (const char __user *) with set_fs(KERNEL_DS)

__force added to avoid sparse-all warning:
fs/btrfs/send.c:518:40: warning: cast adds address space to expression (<asn:1>)

Signed-off-by: Fabian Frederick <fabf@skynet.be>
Reviewed-by: Zach Brown <zab@zabbo.net>
Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
Fabian Frederick 2014-07-15 21:17:17 +02:00 committed by Chris Mason
parent 14586651ed
commit d447d0da44

View File

@ -515,7 +515,8 @@ static int write_buf(struct file *filp, const void *buf, u32 len, loff_t *off)
set_fs(KERNEL_DS);
while (pos < len) {
ret = vfs_write(filp, (char *)buf + pos, len - pos, off);
ret = vfs_write(filp, (__force const char __user *)buf + pos,
len - pos, off);
/* TODO handle that correctly */
/*if (ret == -ERESTARTSYS) {
continue;