[PATCH 4/9] staging/lustre: clean up and remove libcfs/linux/linux-fs.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



filp_user_write() is open coded in libcfs_kkuc_msg_put(). All
other functions/macros have no user at all. So we can remove
the file.

Signed-off-by: Peng Tao <tao.peng@xxxxxxx>
Signed-off-by: Andreas Dilger <andreas.dilger@xxxxxxxxx>
---
 .../staging/lustre/include/linux/libcfs/libcfs.h   |   29 -----
 .../lustre/include/linux/libcfs/linux/linux-fs.h   |    3 -
 drivers/staging/lustre/lustre/libcfs/Makefile      |    2 +-
 .../lustre/lustre/libcfs/kernel_user_comm.c        |   18 +++-
 .../staging/lustre/lustre/libcfs/linux/linux-fs.c  |  113 --------------------
 drivers/staging/lustre/lustre/mdc/mdc_lib.c        |    2 +-
 6 files changed, 16 insertions(+), 151 deletions(-)
 delete mode 100644 drivers/staging/lustre/lustre/libcfs/linux/linux-fs.c

diff --git a/drivers/staging/lustre/include/linux/libcfs/libcfs.h b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
index 6dd5a7d..7673aa5 100644
--- a/drivers/staging/lustre/include/linux/libcfs/libcfs.h
+++ b/drivers/staging/lustre/include/linux/libcfs/libcfs.h
@@ -213,35 +213,6 @@ void cfs_stack_trace_fill(struct cfs_stack_trace *trace);
  */
 void *cfs_stack_trace_frame(struct cfs_stack_trace *trace, int frame_no);
 
-#ifndef O_NOACCESS
-#define O_NOACCESS O_NONBLOCK
-#endif
-
-/*
- * Universal open flags.
- */
-#define CFS_O_NOACCESS	  0003
-#define CFS_O_ACCMODE	   CFS_O_NOACCESS
-#define CFS_O_CREAT	     0100
-#define CFS_O_EXCL	      0200
-#define CFS_O_NOCTTY	    0400
-#define CFS_O_TRUNC	     01000
-#define CFS_O_APPEND	    02000
-#define CFS_O_NONBLOCK	  04000
-#define CFS_O_NDELAY	    CFS_O_NONBLOCK
-#define CFS_O_SYNC	      010000
-#define CFS_O_ASYNC	     020000
-#define CFS_O_DIRECT	    040000
-#define CFS_O_LARGEFILE	 0100000
-#define CFS_O_DIRECTORY	 0200000
-#define CFS_O_NOFOLLOW	  0400000
-#define CFS_O_NOATIME	   01000000
-
-/* convert local open flags to universal open flags */
-int cfs_oflags2univ(int flags);
-/* convert universal open flags to local open flags */
-int cfs_univ2oflags(int flags);
-
 /*
  * Random number handling
  */
diff --git a/drivers/staging/lustre/include/linux/libcfs/linux/linux-fs.h b/drivers/staging/lustre/include/linux/libcfs/linux/linux-fs.h
index 90ff47a..eebf138 100644
--- a/drivers/staging/lustre/include/linux/libcfs/linux/linux-fs.h
+++ b/drivers/staging/lustre/include/linux/libcfs/linux/linux-fs.h
@@ -78,9 +78,6 @@
 #define flock_end(fl)			((fl)->fl_end)
 #define flock_set_end(fl, end)		do { (fl)->fl_end = (end); } while (0)
 
-ssize_t filp_user_write(struct file *filp, const void *buf, size_t count,
-			loff_t *offset);
-
 #ifndef IFSHIFT
 #define IFSHIFT			12
 #endif
diff --git a/drivers/staging/lustre/lustre/libcfs/Makefile b/drivers/staging/lustre/lustre/libcfs/Makefile
index d64a3d0..224f1b0 100644
--- a/drivers/staging/lustre/lustre/libcfs/Makefile
+++ b/drivers/staging/lustre/lustre/libcfs/Makefile
@@ -2,7 +2,7 @@ obj-$(CONFIG_LUSTRE_FS) += libcfs.o
 
 libcfs-linux-objs := linux-tracefile.o linux-debug.o
 libcfs-linux-objs += linux-prim.o linux-mem.o linux-cpu.o
-libcfs-linux-objs += linux-fs.o linux-sync.o linux-tcpip.o
+libcfs-linux-objs += linux-sync.o linux-tcpip.o
 libcfs-linux-objs += linux-proc.o linux-curproc.o
 libcfs-linux-objs += linux-utils.o linux-module.o
 libcfs-linux-objs += linux-crypto.o linux-crypto-crc32.o
diff --git a/drivers/staging/lustre/lustre/libcfs/kernel_user_comm.c b/drivers/staging/lustre/lustre/libcfs/kernel_user_comm.c
index c152223..8084ada 100644
--- a/drivers/staging/lustre/lustre/libcfs/kernel_user_comm.c
+++ b/drivers/staging/lustre/lustre/libcfs/kernel_user_comm.c
@@ -155,6 +155,9 @@ int libcfs_ukuc_msg_get(lustre_kernelcomm *link, char *buf, int maxsize,
 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 = -ENOSYS;
 
 	if (filp == NULL || IS_ERR(filp))
@@ -165,11 +168,18 @@ int libcfs_kkuc_msg_put(struct file *filp, void *payload)
 		return -ENOSYS;
 	}
 
-	{
-		loff_t offset = 0;
-		rc = filp_user_write(filp, payload, kuch->kuc_msglen,
-				     &offset);
+	fs = get_fs();
+	set_fs(KERNEL_DS);
+	while ((ssize_t)count > 0) {
+		rc = vfs_write(filp, (const void __user *)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);
diff --git a/drivers/staging/lustre/lustre/libcfs/linux/linux-fs.c b/drivers/staging/lustre/lustre/libcfs/linux/linux-fs.c
deleted file mode 100644
index cb96969..0000000
--- a/drivers/staging/lustre/lustre/libcfs/linux/linux-fs.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * GPL HEADER START
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 only,
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * General Public License version 2 for more details (a copy is included
- * in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see
- * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
- *
- * GPL HEADER END
- */
-/*
- * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
- * Use is subject to license terms.
- */
-/*
- * This file is part of Lustre, http://www.lustre.org/
- * Lustre is a trademark of Sun Microsystems, Inc.
- */
-
-# define DEBUG_SUBSYSTEM S_LNET
-
-#include <linux/fs.h>
-#include <linux/kdev_t.h>
-#include <linux/ctype.h>
-#include <asm/uaccess.h>
-
-#include <linux/libcfs/libcfs.h>
-
-/* write a userspace buffer to disk.
- * NOTE: this returns 0 on success, not the number of bytes written. */
-ssize_t
-filp_user_write(struct file *filp, const void *buf, size_t count,
-		loff_t *offset)
-{
-	mm_segment_t fs;
-	ssize_t size = 0;
-
-	fs = get_fs();
-	set_fs(KERNEL_DS);
-	while ((ssize_t)count > 0) {
-		size = vfs_write(filp, (const void __user *)buf, count, offset);
-		if (size < 0)
-			break;
-		count -= size;
-		buf += size;
-		size = 0;
-	}
-	set_fs(fs);
-
-	return size;
-}
-EXPORT_SYMBOL(filp_user_write);
-
-#if !(CFS_O_CREAT == O_CREAT && CFS_O_EXCL == O_EXCL &&	\
-     CFS_O_NOACCESS == O_NOACCESS &&\
-     CFS_O_TRUNC == O_TRUNC && CFS_O_APPEND == O_APPEND &&\
-     CFS_O_NONBLOCK == O_NONBLOCK && CFS_O_NDELAY == O_NDELAY &&\
-     CFS_O_SYNC == O_SYNC && CFS_O_ASYNC == FASYNC &&\
-     CFS_O_DIRECT == O_DIRECT && CFS_O_LARGEFILE == O_LARGEFILE &&\
-     CFS_O_DIRECTORY == O_DIRECTORY && CFS_O_NOFOLLOW == O_NOFOLLOW)
-
-int cfs_oflags2univ(int flags)
-{
-	int f;
-
-	f = flags & O_NOACCESS;
-	f |= (flags & O_CREAT) ? CFS_O_CREAT: 0;
-	f |= (flags & O_EXCL) ? CFS_O_EXCL: 0;
-	f |= (flags & O_NOCTTY) ? CFS_O_NOCTTY: 0;
-	f |= (flags & O_TRUNC) ? CFS_O_TRUNC: 0;
-	f |= (flags & O_APPEND) ? CFS_O_APPEND: 0;
-	f |= (flags & O_NONBLOCK) ? CFS_O_NONBLOCK: 0;
-	f |= (flags & O_SYNC)? CFS_O_SYNC: 0;
-	f |= (flags & FASYNC)? CFS_O_ASYNC: 0;
-	f |= (flags & O_DIRECTORY)? CFS_O_DIRECTORY: 0;
-	f |= (flags & O_DIRECT)? CFS_O_DIRECT: 0;
-	f |= (flags & O_LARGEFILE)? CFS_O_LARGEFILE: 0;
-	f |= (flags & O_NOFOLLOW)? CFS_O_NOFOLLOW: 0;
-	f |= (flags & O_NOATIME)? CFS_O_NOATIME: 0;
-	return f;
-}
-#else
-
-int cfs_oflags2univ(int flags)
-{
-	return (flags);
-}
-#endif
-EXPORT_SYMBOL(cfs_oflags2univ);
-
-/*
- * XXX Liang: we don't need cfs_univ2oflags() now.
- */
-int cfs_univ2oflags(int flags)
-{
-	return (flags);
-}
-EXPORT_SYMBOL(cfs_univ2oflags);
diff --git a/drivers/staging/lustre/lustre/mdc/mdc_lib.c b/drivers/staging/lustre/lustre/mdc/mdc_lib.c
index 05c6968..e789aed 100644
--- a/drivers/staging/lustre/lustre/mdc/mdc_lib.c
+++ b/drivers/staging/lustre/lustre/mdc/mdc_lib.c
@@ -199,7 +199,7 @@ static __u64 mds_pack_open_flags(__u32 flags, __u32 mode)
 	if (flags & O_LOV_DELAY_CREATE)
 		cr_flags |= MDS_OPEN_DELAY_CREATE;
 
-	if ((flags & O_NOACCESS) || (flags & O_NONBLOCK))
+	if (flags & O_NONBLOCK)
 		cr_flags |= MDS_OPEN_NORESTORE;
 
 	return cr_flags;
-- 
1.7.9.5

_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux