diff --git a/marvell/linux/fs/coda/symlink.c b/marvell/linux/fs/coda/symlink.c
new file mode 100644
index 0000000..8907d05
--- /dev/null
+++ b/marvell/linux/fs/coda/symlink.c
@@ -0,0 +1,48 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Symlink inode operations for Coda filesystem
+ * Original version: (C) 1996 P. Braam and M. Callahan
+ * Rewritten for Linux 2.1. (C) 1997 Carnegie Mellon University
+ * 
+ * Carnegie Mellon encourages users to contribute improvements to
+ * the Coda project. Contact Peter Braam (coda@cs.cmu.edu).
+ */
+
+#include <linux/types.h>
+#include <linux/kernel.h>
+#include <linux/time.h>
+#include <linux/fs.h>
+#include <linux/stat.h>
+#include <linux/errno.h>
+#include <linux/pagemap.h>
+
+#include <linux/coda.h>
+#include "coda_psdev.h"
+#include "coda_linux.h"
+
+static int coda_symlink_filler(struct file *file, struct page *page)
+{
+	struct inode *inode = page->mapping->host;
+	int error;
+	struct coda_inode_info *cii;
+	unsigned int len = PAGE_SIZE;
+	char *p = page_address(page);
+
+	cii = ITOC(inode);
+
+	error = venus_readlink(inode->i_sb, &cii->c_fid, p, &len);
+	if (error)
+		goto fail;
+	SetPageUptodate(page);
+	unlock_page(page);
+	return 0;
+
+fail:
+	SetPageError(page);
+	unlock_page(page);
+	return error;
+}
+
+const struct address_space_operations coda_symlink_aops = {
+	.readpage	= coda_symlink_filler,
+};
