[patch] symlink creation broken in shmem.c
Hi Linus, 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.cSat 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 = _dir_operations; break; case S_IFLNK: - inode->i_op = _symlink_inode_operations; - break; + BUG(); } spin_lock (_ilock); list_add (>u.shmem_i.list, _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 [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/
[patch] symlink creation broken in shmem.c
Hi Linus, 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.cSat 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 [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/