The shmem_symlink function is completely broken in 2.4.0 and never
worked.
This patch removes the function from 2.4.0
Greetings
                Christoph
P.S.: For those which test read/write support patch: I will post patch
      for my swapfs soon which will make it working on top of that
diff -uNr 2.4.0/mm/shmem.c 2.4.0-nosymlink/mm/shmem.c
--- 2.4.0/mm/shmem.c	Sat Jan 13 14:20:51 2001
+++ 2.4.0-nosymlink/mm/shmem.c	Sat Jan 13 14:18:26 2001
@@ -374,8 +374,7 @@
 			inode->i_fop = &shmem_dir_operations;
 			break;
 		case S_IFLNK:
-			inode->i_op = &page_symlink_inode_operations;
-			break;
+			BUG();
 		}
 		spin_lock (&shmem_ilock);
 		list_add (&inode->u.shmem_i.list, &shmem_inodes);
@@ -528,19 +527,6 @@
 	return error;
 }
 
-static int shmem_symlink(struct inode * dir, struct dentry *dentry, const char * symname)
-{
-	int error;
-
-	error = shmem_mknod(dir, dentry, S_IFLNK | S_IRWXUGO, 0);
-	if (!error) {
-		int l = strlen(symname)+1;
-		struct inode *inode = dentry->d_inode;
-		error = block_symlink(inode, symname, l);
-	}
-	return error;
-}
-
 static int shmem_mmap(struct file * file, struct vm_area_struct * vma)
 {
 	struct vm_operations_struct * ops;
@@ -677,7 +663,6 @@
 	lookup:		shmem_lookup,
 	link:		shmem_link,
 	unlink:		shmem_unlink,
-	symlink:	shmem_symlink,
 	mkdir:		shmem_mkdir,
 	rmdir:		shmem_rmdir,
 	mknod:		shmem_mknod,
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/