All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: viro@zeniv.linux.org.uk
Cc: arve@android.com, riandrews@android.com,
	linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH 10/16] btrfs: switch write_buf to kernel_write
Date: Wed, 30 Aug 2017 17:00:01 +0200	[thread overview]
Message-ID: <20170830150007.3953-11-hch@lst.de> (raw)
In-Reply-To: <20170830150007.3953-1-hch@lst.de>

Instead of playing with the addressing limits.

Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 fs/btrfs/send.c | 18 ++++--------------
 1 file changed, 4 insertions(+), 14 deletions(-)

diff --git a/fs/btrfs/send.c b/fs/btrfs/send.c
index b082210df9c8..24b989fd130c 100644
--- a/fs/btrfs/send.c
+++ b/fs/btrfs/send.c
@@ -539,33 +539,23 @@ static struct btrfs_path *alloc_path_for_send(void)
 static int write_buf(struct file *filp, const void *buf, u32 len, loff_t *off)
 {
 	int ret;
-	mm_segment_t old_fs;
 	u32 pos = 0;
 
-	old_fs = get_fs();
-	set_fs(KERNEL_DS);
-
 	while (pos < len) {
-		ret = vfs_write(filp, (__force const char __user *)buf + pos,
-				len - pos, off);
+		ret = kernel_write(filp, buf + pos, len - pos, off);
 		/* TODO handle that correctly */
 		/*if (ret == -ERESTARTSYS) {
 			continue;
 		}*/
 		if (ret < 0)
-			goto out;
+			return ret;
 		if (ret == 0) {
-			ret = -EIO;
-			goto out;
+			return -EIO;
 		}
 		pos += ret;
 	}
 
-	ret = 0;
-
-out:
-	set_fs(old_fs);
-	return ret;
+	return 0;
 }
 
 static int tlv_put(struct send_ctx *sctx, u16 attr, const void *data, int len)
-- 
2.11.0

  parent reply	other threads:[~2017-08-30 15:00 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30 14:59 switch in-kernel read/write calls to kernel_read/write Christoph Hellwig
2017-08-30 14:59 ` [PATCH 01/16] ashmem: switch to ->read_iter Christoph Hellwig
2017-08-30 15:28   ` Al Viro
2017-09-01 10:20     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 02/16] autofs4: switch autofs4_write to __kernel_write Christoph Hellwig
2017-08-30 15:30   ` Al Viro
2017-09-01 10:22     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 03/16] fs: move kernel_write to fs/read_write.c Christoph Hellwig
2017-08-30 14:59 ` [PATCH 04/16] fs: move kernel_read " Christoph Hellwig
2017-08-30 14:59 ` [PATCH 05/16] fs: fix kernel_read prototype Christoph Hellwig
2017-08-30 15:37   ` Al Viro
2017-09-01 10:37     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 06/16] fs: fix kernel_write prototype Christoph Hellwig
2017-08-30 15:39   ` Al Viro
2017-09-01 10:40     ` Christoph Hellwig
2017-08-30 14:59 ` [PATCH 07/16] serial2002: switch serial2002_tty_write to kernel_{read/write} Christoph Hellwig
2017-08-30 14:59 ` [PATCH 08/16] mm/nommu: switch do_mmap_private to kernel_read Christoph Hellwig
2017-08-30 15:41   ` Al Viro
2017-09-01 10:41     ` Christoph Hellwig
2017-08-30 15:00 ` [PATCH 09/16] net/9p: switch p9_fd_read to kernel_write Christoph Hellwig
2017-08-30 15:00 ` Christoph Hellwig [this message]
2017-08-30 15:35   ` [PATCH 10/16] btrfs: switch write_buf " Nikolay Borisov
2017-08-30 15:00 ` [PATCH 11/16] mconsole: switch to kernel_read Christoph Hellwig
2017-08-30 15:00 ` [PATCH 12/16] gadget/f_mass_storage: stop messing with the address limit Christoph Hellwig
2017-08-30 15:00 ` [PATCH 13/16] lustre: switch to kernel_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 14/16] fs: unexport __vfs_read/__vfs_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 15/16] fs: unexport vfs_read and vfs_write Christoph Hellwig
2017-08-30 15:00 ` [PATCH 16/16] fs: unexport vfs_readv and vfs_writev Christoph Hellwig

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=20170830150007.3953-11-hch@lst.de \
    --to=hch@lst.de \
    --cc=arve@android.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=riandrews@android.com \
    --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.