Commit 82577239 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Al Viro

lustre: switch to kernel_write

Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 05a4a33b
...@@ -731,8 +731,7 @@ int cfs_tracefile_dump_all_pages(char *filename) ...@@ -731,8 +731,7 @@ int cfs_tracefile_dump_all_pages(char *filename)
__LASSERT_TAGE_INVARIANT(tage); __LASSERT_TAGE_INVARIANT(tage);
buf = kmap(tage->page); buf = kmap(tage->page);
rc = vfs_write(filp, (__force const char __user *)buf, rc = kernel_write(filp, buf, tage->used, &filp->f_pos);
tage->used, &filp->f_pos);
kunmap(tage->page); kunmap(tage->page);
if (rc != (int)tage->used) { if (rc != (int)tage->used) {
...@@ -976,7 +975,6 @@ static int tracefiled(void *arg) ...@@ -976,7 +975,6 @@ static int tracefiled(void *arg)
struct tracefiled_ctl *tctl = arg; struct tracefiled_ctl *tctl = arg;
struct cfs_trace_page *tage; struct cfs_trace_page *tage;
struct cfs_trace_page *tmp; struct cfs_trace_page *tmp;
mm_segment_t __oldfs;
struct file *filp; struct file *filp;
char *buf; char *buf;
int last_loop = 0; int last_loop = 0;
...@@ -1014,8 +1012,6 @@ static int tracefiled(void *arg) ...@@ -1014,8 +1012,6 @@ static int tracefiled(void *arg)
__LASSERT(list_empty(&pc.pc_pages)); __LASSERT(list_empty(&pc.pc_pages));
goto end_loop; goto end_loop;
} }
__oldfs = get_fs();
set_fs(get_ds());
list_for_each_entry_safe(tage, tmp, &pc.pc_pages, linkage) { list_for_each_entry_safe(tage, tmp, &pc.pc_pages, linkage) {
static loff_t f_pos; static loff_t f_pos;
...@@ -1028,8 +1024,7 @@ static int tracefiled(void *arg) ...@@ -1028,8 +1024,7 @@ static int tracefiled(void *arg)
f_pos = i_size_read(file_inode(filp)); f_pos = i_size_read(file_inode(filp));
buf = kmap(tage->page); buf = kmap(tage->page);
rc = vfs_write(filp, (__force const char __user *)buf, rc = kernel_write(filp, buf, tage->used, &f_pos);
tage->used, &f_pos);
kunmap(tage->page); kunmap(tage->page);
if (rc != (int)tage->used) { if (rc != (int)tage->used) {
...@@ -1040,7 +1035,6 @@ static int tracefiled(void *arg) ...@@ -1040,7 +1035,6 @@ static int tracefiled(void *arg)
break; break;
} }
} }
set_fs(__oldfs);
filp_close(filp, NULL); filp_close(filp, NULL);
put_pages_on_daemon_list(&pc); put_pages_on_daemon_list(&pc);
......
...@@ -52,7 +52,6 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload) ...@@ -52,7 +52,6 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload)
struct kuc_hdr *kuch = (struct kuc_hdr *)payload; struct kuc_hdr *kuch = (struct kuc_hdr *)payload;
ssize_t count = kuch->kuc_msglen; ssize_t count = kuch->kuc_msglen;
loff_t offset = 0; loff_t offset = 0;
mm_segment_t fs;
int rc = -ENXIO; int rc = -ENXIO;
if (IS_ERR_OR_NULL(filp)) if (IS_ERR_OR_NULL(filp))
...@@ -63,18 +62,14 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload) ...@@ -63,18 +62,14 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload)
return rc; return rc;
} }
fs = get_fs();
set_fs(KERNEL_DS);
while (count > 0) { while (count > 0) {
rc = vfs_write(filp, (void __force __user *)payload, rc = kernel_write(filp, payload, count, &offset);
count, &offset);
if (rc < 0) if (rc < 0)
break; break;
count -= rc; count -= rc;
payload += rc; payload += rc;
rc = 0; rc = 0;
} }
set_fs(fs);
if (rc < 0) if (rc < 0)
CWARN("message send failed (%d)\n", rc); CWARN("message send failed (%d)\n", rc);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment