Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1725163

[PATCH 14/17] lustre: switch to kernel_write

From Christoph Hellwig <hch@lst.de>
Newsgroups linux.kernel
Subject [PATCH 14/17] lustre: switch to kernel_write
Date 2017-09-01 17:50 +0200
Message-ID <ukWmK-71s-25@gated-at.bofh.it> (permalink)
References <ukWd4-6Xx-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Signed-off-by: Christoph Hellwig <hch@lst.de>
---
 drivers/staging/lustre/lnet/libcfs/tracefile.c      | 10 ++--------
 drivers/staging/lustre/lustre/obdclass/kernelcomm.c |  7 +------
 2 files changed, 3 insertions(+), 14 deletions(-)

diff --git a/drivers/staging/lustre/lnet/libcfs/tracefile.c b/drivers/staging/lustre/lnet/libcfs/tracefile.c
index d1aa79bb2017..af61dd750033 100644
--- a/drivers/staging/lustre/lnet/libcfs/tracefile.c
+++ b/drivers/staging/lustre/lnet/libcfs/tracefile.c
@@ -731,8 +731,7 @@ int cfs_tracefile_dump_all_pages(char *filename)
 		__LASSERT_TAGE_INVARIANT(tage);
 
 		buf = kmap(tage->page);
-		rc = vfs_write(filp, (__force const char __user *)buf,
-			       tage->used, &filp->f_pos);
+		rc = kernel_write(filp, buf, tage->used, &filp->f_pos);
 		kunmap(tage->page);
 
 		if (rc != (int)tage->used) {
@@ -976,7 +975,6 @@ static int tracefiled(void *arg)
 	struct tracefiled_ctl *tctl = arg;
 	struct cfs_trace_page *tage;
 	struct cfs_trace_page *tmp;
-	mm_segment_t __oldfs;
 	struct file *filp;
 	char *buf;
 	int last_loop = 0;
@@ -1014,8 +1012,6 @@ static int tracefiled(void *arg)
 			__LASSERT(list_empty(&pc.pc_pages));
 			goto end_loop;
 		}
-		__oldfs = get_fs();
-		set_fs(get_ds());
 
 		list_for_each_entry_safe(tage, tmp, &pc.pc_pages, linkage) {
 			static loff_t f_pos;
@@ -1028,8 +1024,7 @@ static int tracefiled(void *arg)
 				f_pos = i_size_read(file_inode(filp));
 
 			buf = kmap(tage->page);
-			rc = vfs_write(filp, (__force const char __user *)buf,
-				       tage->used, &f_pos);
+			rc = kernel_write(filp, buf, tage->used, &f_pos);
 			kunmap(tage->page);
 
 			if (rc != (int)tage->used) {
@@ -1040,7 +1035,6 @@ static int tracefiled(void *arg)
 				break;
 			}
 		}
-		set_fs(__oldfs);
 
 		filp_close(filp, NULL);
 		put_pages_on_daemon_list(&pc);
diff --git a/drivers/staging/lustre/lustre/obdclass/kernelcomm.c b/drivers/staging/lustre/lustre/obdclass/kernelcomm.c
index a0f65c470f4d..7afe8471a762 100644
--- a/drivers/staging/lustre/lustre/obdclass/kernelcomm.c
+++ b/drivers/staging/lustre/lustre/obdclass/kernelcomm.c
@@ -52,7 +52,6 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload)
 	struct kuc_hdr *kuch = (struct kuc_hdr *)payload;
 	ssize_t count = kuch->kuc_msglen;
 	loff_t offset = 0;
-	mm_segment_t fs;
 	int rc = -ENXIO;
 
 	if (IS_ERR_OR_NULL(filp))
@@ -63,18 +62,14 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload)
 		return rc;
 	}
 
-	fs = get_fs();
-	set_fs(KERNEL_DS);
 	while (count > 0) {
-		rc = vfs_write(filp, (void __force __user *)payload,
-			       count, &offset);
+		rc = kernel_write(filp, payload, count, &offset);
 		if (rc < 0)
 			break;
 		count -= rc;
 		payload += rc;
 		rc = 0;
 	}
-	set_fs(fs);
 
 	if (rc < 0)
 		CWARN("message send failed (%d)\n", rc);
-- 
2.11.0

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

switch in-kernel read/write calls to kernel_read/write V2 Christoph Hellwig <hch@lst.de> - 2017-09-01 17:40 +0200
  [PATCH 01/17] ashmem: switch to ->read_iter Christoph Hellwig <hch@lst.de> - 2017-09-01 17:40 +0200
  [PATCH 06/17] fs: fix kernel_write prototype Christoph Hellwig <hch@lst.de> - 2017-09-01 17:40 +0200
  [PATCH 04/17] fs: move kernel_read to fs/read_write.c Christoph Hellwig <hch@lst.de> - 2017-09-01 17:40 +0200
  [PATCH 03/17] fs: move kernel_write to fs/read_write.c Christoph Hellwig <hch@lst.de> - 2017-09-01 17:40 +0200
  [PATCH 15/17] fs: unexport __vfs_read/__vfs_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 16/17] fs: unexport vfs_read and vfs_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 07/17] fs: make the buf argument to __kernel_write a void pointer Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 14/17] lustre: switch to kernel_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 02/17] autofs4: switch autofs4_write to __kernel_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 10/17] net/9p: switch p9_fd_read to kernel_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 09/17] mm/nommu: switch do_mmap_private to kernel_read Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 05/17] fs: fix kernel_read prototype Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 13/17] gadget/f_mass_storage: stop messing with the address limit Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 12/17] mconsole: switch to kernel_read Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 08/17] serial2002: switch serial2002_tty_write to kernel_{read/write} Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 17/17] fs: unexport vfs_readv and vfs_writev Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200
  [PATCH 11/17] btrfs: switch write_buf to kernel_write Christoph Hellwig <hch@lst.de> - 2017-09-01 17:50 +0200

csiph-web