patch-2.1.123 linux/fs/sysv/symlink.c

Next file: linux/fs/ufs/symlink.c
Previous file: linux/fs/super.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.122/linux/fs/sysv/symlink.c linux/fs/sysv/symlink.c
@@ -21,7 +21,7 @@
 #include <asm/uaccess.h>
 
 static int sysv_readlink(struct dentry *, char *, int);
-static struct dentry *sysv_follow_link(struct dentry *, struct dentry *);
+static struct dentry *sysv_follow_link(struct dentry *, struct dentry *, unsigned int);
 
 /*
  * symlinks can't do much...
@@ -47,7 +47,8 @@
 };
 
 static struct dentry *sysv_follow_link(struct dentry * dentry,
-					struct dentry * base)
+					struct dentry * base,
+					unsigned int follow)
 {
 	struct inode *inode = dentry->d_inode;
 	struct buffer_head * bh;
@@ -58,7 +59,7 @@
 		return ERR_PTR(-EIO);
 	}
 	UPDATE_ATIME(inode);
-	base = lookup_dentry(bh->b_data, base, 1);
+	base = lookup_dentry(bh->b_data, base, follow);
 	brelse(bh);
 	return base;
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov