[PATCH] fs: remove page_readlink

Christoph Hellwig hch at lst.de
Tue May 9 06:08:29 PDT 2017


Opencode it in AFS, the only user instead.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 fs/afs/mntpt.c     | 13 ++++++++++++-
 fs/namei.c         | 11 -----------
 include/linux/fs.h |  1 -
 3 files changed, 12 insertions(+), 13 deletions(-)

diff --git a/fs/afs/mntpt.c b/fs/afs/mntpt.c
index bd3b65cde282..a4859ae2486f 100644
--- a/fs/afs/mntpt.c
+++ b/fs/afs/mntpt.c
@@ -31,9 +31,20 @@ const struct file_operations afs_mntpt_file_operations = {
 	.llseek		= noop_llseek,
 };
 
+static int afs_mntpt_readlink(struct dentry *dentry, char __user *buffer,
+		int buflen)
+{
+	DEFINE_DELAYED_CALL(done);
+	int res = readlink_copy(buffer, buflen,
+				page_get_link(dentry, d_inode(dentry),
+					      &done));
+	do_delayed_call(&done);
+	return res;
+}
+
 const struct inode_operations afs_mntpt_inode_operations = {
 	.lookup		= afs_mntpt_lookup,
-	.readlink	= page_readlink,
+	.readlink	= afs_mntpt_readlink,
 	.getattr	= afs_getattr,
 };
 
diff --git a/fs/namei.c b/fs/namei.c
index 9a7f8bd748d8..c5272b117029 100644
--- a/fs/namei.c
+++ b/fs/namei.c
@@ -4746,17 +4746,6 @@ void page_put_link(void *arg)
 }
 EXPORT_SYMBOL(page_put_link);
 
-int page_readlink(struct dentry *dentry, char __user *buffer, int buflen)
-{
-	DEFINE_DELAYED_CALL(done);
-	int res = readlink_copy(buffer, buflen,
-				page_get_link(dentry, d_inode(dentry),
-					      &done));
-	do_delayed_call(&done);
-	return res;
-}
-EXPORT_SYMBOL(page_readlink);
-
 /*
  * The nofs argument instructs pagecache_write_begin to pass AOP_FLAG_NOFS
  */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 5d62d2c47939..8f104dcfca60 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -2897,7 +2897,6 @@ extern const struct file_operations generic_ro_fops;
 #define special_file(m) (S_ISCHR(m)||S_ISBLK(m)||S_ISFIFO(m)||S_ISSOCK(m))
 
 extern int readlink_copy(char __user *, int, const char *);
-extern int page_readlink(struct dentry *, char __user *, int);
 extern const char *page_get_link(struct dentry *, struct inode *,
 				 struct delayed_call *);
 extern void page_put_link(void *);
-- 
2.11.0




More information about the linux-afs mailing list