From: Oleg Drokin <green@xxxxxxxxxxxxxx> This is only used on the servers to evict clients. Signed-off-by: Oleg Drokin <green@xxxxxxxxxxxxxx> --- .../staging/lustre/lustre/include/lprocfs_status.h | 2 - .../staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c | 49 ---------------------- 2 files changed, 51 deletions(-) diff --git a/drivers/staging/lustre/lustre/include/lprocfs_status.h b/drivers/staging/lustre/lustre/include/lprocfs_status.h index 1b87a6a..742cb59 100644 --- a/drivers/staging/lustre/lustre/include/lprocfs_status.h +++ b/drivers/staging/lustre/lustre/include/lprocfs_status.h @@ -612,8 +612,6 @@ int lprocfs_at_hist_helper(struct seq_file *m, struct adaptive_timeout *at); int lprocfs_rd_timeouts(struct seq_file *m, void *data); int lprocfs_wr_timeouts(struct file *file, const char __user *buffer, unsigned long count, void *data); -int lprocfs_wr_evict_client(struct file *file, const char __user *buffer, - size_t count, loff_t *off); int lprocfs_wr_ping(struct file *file, const char __user *buffer, size_t count, loff_t *off); int lprocfs_wr_import(struct file *file, const char __user *buffer, diff --git a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c index 500687d..a033bae 100644 --- a/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c +++ b/drivers/staging/lustre/lustre/ptlrpc/lproc_ptlrpc.c @@ -1208,55 +1208,6 @@ void ptlrpc_lprocfs_unregister_obd(struct obd_device *obd) } EXPORT_SYMBOL(ptlrpc_lprocfs_unregister_obd); - -#define BUFLEN (UUID_MAX + 5) - -int lprocfs_wr_evict_client(struct file *file, const char __user *buffer, - size_t count, loff_t *off) -{ - struct obd_device *obd = ((struct seq_file *)file->private_data)->private; - char *kbuf; - char *tmpbuf; - - kbuf = kzalloc(BUFLEN, GFP_NOFS); - if (!kbuf) - return -ENOMEM; - - /* - * kzalloc() will zero kbuf, but we only copy BUFLEN - 1 - * bytes into kbuf, to ensure that the string is NUL-terminated. - * UUID_MAX should include a trailing NUL already. - */ - if (copy_from_user(kbuf, buffer, - min_t(unsigned long, BUFLEN - 1, count))) { - count = -EFAULT; - goto out; - } - tmpbuf = cfs_firststr(kbuf, min_t(unsigned long, BUFLEN - 1, count)); - /* Kludge code(deadlock situation): the lprocfs lock has been held - * since the client is evicted by writing client's - * uuid/nid to procfs "evict_client" entry. However, - * obd_export_evict_by_uuid() will call ldebugfs_remove() to destroy - * the proc entries under the being destroyed export{}, so I have - * to drop the lock at first here. - * - jay, jxiong@xxxxxxxxxxxxx */ - class_incref(obd, __func__, current); - - if (strncmp(tmpbuf, "nid:", 4) == 0) - obd_export_evict_by_nid(obd, tmpbuf + 4); - else if (strncmp(tmpbuf, "uuid:", 5) == 0) - obd_export_evict_by_uuid(obd, tmpbuf + 5); - else - obd_export_evict_by_uuid(obd, tmpbuf); - - class_decref(obd, __func__, current); - -out: - kfree(kbuf); - return count; -} -EXPORT_SYMBOL(lprocfs_wr_evict_client); - #undef BUFLEN int lprocfs_wr_ping(struct file *file, const char __user *buffer, -- 2.1.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel