GIT: unionfs2-2.6.27.y: Unionfs: rename file->f_dentry references to file->f_path.dentry

Erez Zadok ezk at fsl.cs.sunysb.edu
Thu Aug 12 23:16:43 EDT 2010


commit f77ad769e9a2829fbc21b2c258f82ec0ba17e102
Author: Erez_Zadok <ezk at cs.sunysb.edu>
Date:   Fri Jun 29 02:33:14 2007 -0400

    Unionfs: rename file->f_dentry references to file->f_path.dentry
    
    Signed-off-by: Erez Zadok <ezk at cs.sunysb.edu>

diff --git a/fs/unionfs/commonfops.c b/fs/unionfs/commonfops.c
index f7f49b4..18ade2f 100644
--- a/fs/unionfs/commonfops.c
+++ b/fs/unionfs/commonfops.c
@@ -73,7 +73,7 @@ retry:
 	dput(tmp_dentry);
 
 	err = copyup_named_file(dentry->d_parent->d_inode, file, name, bstart,
-				bindex, file->f_dentry->d_inode->i_size);
+				bindex, file->f_path.dentry->d_inode->i_size);
 	if (err) {
 		if (err == -EEXIST)
 			goto retry;
@@ -105,7 +105,7 @@ static void cleanup_file(struct file *file)
 {
 	int bindex, bstart, bend;
 	struct file **lf;
-	struct super_block *sb = file->f_dentry->d_sb;
+	struct super_block *sb = file->f_path.dentry->d_sb;
 
 	lf = UNIONFS_F(file)->lower_files;
 	bstart = fbstart(file);
@@ -157,7 +157,7 @@ static int open_all_files(struct file *file)
 	int bindex, bstart, bend, err = 0;
 	struct file *lower_file;
 	struct dentry *lower_dentry;
-	struct dentry *dentry = file->f_dentry;
+	struct dentry *dentry = file->f_path.dentry;
 	struct super_block *sb = dentry->d_sb;
 
 	bstart = dbstart(dentry);
@@ -192,7 +192,7 @@ static int open_highest_file(struct file *file, int willwrite)
 	int bindex, bstart, bend, err = 0;
 	struct file *lower_file;
 	struct dentry *lower_dentry;
-	struct dentry *dentry = file->f_dentry;
+	struct dentry *dentry = file->f_path.dentry;
 	struct inode *parent_inode = dentry->d_parent->d_inode;
 	struct super_block *sb = dentry->d_sb;
 	size_t inode_size = dentry->d_inode->i_size;
@@ -237,7 +237,7 @@ out:
 static int do_delayed_copyup(struct file *file)
 {
 	int bindex, bstart, bend, err = 0;
-	struct dentry *dentry = file->f_dentry;
+	struct dentry *dentry = file->f_path.dentry;
 	struct inode *parent_inode = dentry->d_parent->d_inode;
 	loff_t inode_size = dentry->d_inode->i_size;
 
@@ -306,7 +306,7 @@ int unionfs_file_revalidate(struct file *file, int willwrite)
 	int size;
 	int err = 0;
 
-	dentry = file->f_dentry;
+	dentry = file->f_path.dentry;
 	unionfs_lock_dentry(dentry);
 	sb = dentry->d_sb;
 
@@ -398,19 +398,19 @@ static int __open_dir(struct inode *inode, struct file *file)
 	struct file *lower_file;
 	int bindex, bstart, bend;
 
-	bstart = fbstart(file) = dbstart(file->f_dentry);
-	bend = fbend(file) = dbend(file->f_dentry);
+	bstart = fbstart(file) = dbstart(file->f_path.dentry);
+	bend = fbend(file) = dbend(file->f_path.dentry);
 
 	for (bindex = bstart; bindex <= bend; bindex++) {
 		lower_dentry =
-			unionfs_lower_dentry_idx(file->f_dentry, bindex);
+			unionfs_lower_dentry_idx(file->f_path.dentry, bindex);
 		if (!lower_dentry)
 			continue;
 
 		dget(lower_dentry);
-		unionfs_mntget(file->f_dentry, bindex);
+		unionfs_mntget(file->f_path.dentry, bindex);
 		lower_file = dentry_open(lower_dentry,
-					 unionfs_lower_mnt_idx(file->f_dentry,
+					 unionfs_lower_mnt_idx(file->f_path.dentry,
 							       bindex),
 					 file->f_flags);
 		if (IS_ERR(lower_file))
@@ -436,17 +436,17 @@ static int __open_file(struct inode *inode, struct file *file)
 	int lower_flags;
 	int bindex, bstart, bend;
 
-	lower_dentry = unionfs_lower_dentry(file->f_dentry);
+	lower_dentry = unionfs_lower_dentry(file->f_path.dentry);
 	lower_flags = file->f_flags;
 
-	bstart = fbstart(file) = dbstart(file->f_dentry);
-	bend = fbend(file) = dbend(file->f_dentry);
+	bstart = fbstart(file) = dbstart(file->f_path.dentry);
+	bend = fbend(file) = dbend(file->f_path.dentry);
 
 	/*
 	 * check for the permission for lower file.  If the error is
 	 * COPYUP_ERR, copyup the file.
 	 */
-	if (lower_dentry->d_inode && is_robranch(file->f_dentry)) {
+	if (lower_dentry->d_inode && is_robranch(file->f_path.dentry)) {
 		/*
 		 * if the open will change the file, copy it up otherwise
 		 * defer it.
@@ -458,7 +458,7 @@ static int __open_file(struct inode *inode, struct file *file)
 			/* copyup the file */
 			for (bindex = bstart - 1; bindex >= 0; bindex--) {
 				err = copyup_file(
-					file->f_dentry->d_parent->d_inode,
+					file->f_path.dentry->d_parent->d_inode,
 					file, bstart, bindex, size);
 				if (!err)
 					break;
@@ -474,10 +474,10 @@ static int __open_file(struct inode *inode, struct file *file)
 	 * dentry_open will decrement mnt refcnt if err.
 	 * otherwise fput() will do an mntput() for us upon file close.
 	 */
-	unionfs_mntget(file->f_dentry, bstart);
+	unionfs_mntget(file->f_path.dentry, bstart);
 	lower_file =
 		dentry_open(lower_dentry,
-			    unionfs_lower_mnt_idx(file->f_dentry, bstart),
+			    unionfs_lower_mnt_idx(file->f_path.dentry, bstart),
 			    lower_flags);
 	if (IS_ERR(lower_file))
 		return PTR_ERR(lower_file);
@@ -522,7 +522,7 @@ int unionfs_open(struct inode *inode, struct file *file)
 		goto out;
 	}
 
-	dentry = file->f_dentry;
+	dentry = file->f_path.dentry;
 	unionfs_lock_dentry(dentry);
 
 	bstart = fbstart(file) = dbstart(dentry);
@@ -548,7 +548,7 @@ int unionfs_open(struct inode *inode, struct file *file)
 			if (!lower_file)
 				continue;
 
-			branchput(file->f_dentry->d_sb, bindex);
+			branchput(file->f_path.dentry->d_sb, bindex);
 			/* fput calls dput for lower_dentry */
 			fput(lower_file);
 		}
@@ -567,7 +567,7 @@ out_nofree:
 	unionfs_check_inode(inode);
 	if (!err) {
 		unionfs_check_file(file);
-		unionfs_check_dentry(file->f_dentry->d_parent);
+		unionfs_check_dentry(file->f_path.dentry->d_parent);
 	}
 	return err;
 }
@@ -596,7 +596,7 @@ int unionfs_file_release(struct inode *inode, struct file *file)
 		goto out;
 	unionfs_check_file(file);
 	fileinfo = UNIONFS_F(file);
-	BUG_ON(file->f_dentry->d_inode != inode);
+	BUG_ON(file->f_path.dentry->d_inode != inode);
 	inodeinfo = UNIONFS_I(inode);
 
 	/* fput all the lower files */
@@ -656,7 +656,7 @@ static long do_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
 		err = lower_file->f_op->unlocked_ioctl(lower_file, cmd, arg);
 	} else if (lower_file->f_op->ioctl) {
 		lock_kernel();
-		err = lower_file->f_op->ioctl(lower_file->f_dentry->d_inode,
+		err = lower_file->f_op->ioctl(lower_file->f_path.dentry->d_inode,
 					      lower_file, cmd, arg);
 		unlock_kernel();
 	}
@@ -681,7 +681,7 @@ static int unionfs_ioctl_queryfile(struct file *file, unsigned int cmd,
 	struct dentry *dentry, *lower_dentry;
 	struct vfsmount *mnt;
 
-	dentry = file->f_dentry;
+	dentry = file->f_path.dentry;
 	unionfs_lock_dentry(dentry);
 	orig_bstart = dbstart(dentry);
 	orig_bend = dbend(dentry);
diff --git a/fs/unionfs/copyup.c b/fs/unionfs/copyup.c
index 9a68813..64bb5ef 100644
--- a/fs/unionfs/copyup.c
+++ b/fs/unionfs/copyup.c
@@ -506,7 +506,7 @@ int copyup_named_file(struct inode *dir, struct file *file, char *name,
 	int err = 0;
 	struct file *output_file = NULL;
 
-	err = copyup_dentry(dir, file->f_dentry, bstart, new_bindex,
+	err = copyup_dentry(dir, file->f_path.dentry, bstart, new_bindex,
 			    name, strlen(name), &output_file, len);
 	if (!err) {
 		fbstart(file) = new_bindex;
@@ -525,7 +525,7 @@ int copyup_file(struct inode *dir, struct file *file, int bstart,
 {
 	int err = 0;
 	struct file *output_file = NULL;
-	struct dentry *dentry = file->f_dentry;
+	struct dentry *dentry = file->f_path.dentry;
 
 	err = copyup_dentry(dir, dentry, bstart, new_bindex,
 			    dentry->d_name.name, dentry->d_name.len,
diff --git a/fs/unionfs/debug.c b/fs/unionfs/debug.c
index b4d35d6..cc9d42a 100644
--- a/fs/unionfs/debug.c
+++ b/fs/unionfs/debug.c
@@ -333,7 +333,7 @@ void __unionfs_check_file(const struct file *file,
 	int printed_caller = 0;
 
 	BUG_ON(!file);
-	dentry = file->f_dentry;
+	dentry = file->f_path.dentry;
 	sb = dentry->d_sb;
 	dstart = dbstart(dentry);
 	dend = dbend(dentry);
diff --git a/fs/unionfs/dirfops.c b/fs/unionfs/dirfops.c
index 8503411..4ba8f6c 100644
--- a/fs/unionfs/dirfops.c
+++ b/fs/unionfs/dirfops.c
@@ -102,7 +102,7 @@ static int unionfs_readdir(struct file *file, void *dirent, filldir_t filldir)
 	if ((err = unionfs_file_revalidate(file, 0)))
 		goto out;
 
-	inode = file->f_dentry->d_inode;
+	inode = file->f_path.dentry->d_inode;
 
 	uds = UNIONFS_F(file)->rdstate;
 	if (!uds) {
@@ -156,7 +156,7 @@ static int unionfs_readdir(struct file *file, void *dirent, filldir_t filldir)
 		uds->dirpos = offset;
 
 		/* Copy the atime. */
-		fsstack_copy_attr_atime(inode, lower_file->f_dentry->d_inode);
+		fsstack_copy_attr_atime(inode, lower_file->f_path.dentry->d_inode);
 
 		if (err < 0)
 			goto out;
@@ -239,7 +239,7 @@ static loff_t unionfs_dir_llseek(struct file *file, loff_t offset, int origin)
 				else
 					err = -EINVAL;
 			} else {
-				rdstate = find_rdstate(file->f_dentry->d_inode,
+				rdstate = find_rdstate(file->f_path.dentry->d_inode,
 						       offset);
 				if (rdstate) {
 					UNIONFS_F(file)->rdstate = rdstate;
diff --git a/fs/unionfs/file.c b/fs/unionfs/file.c
index 8f42da3..e978766 100644
--- a/fs/unionfs/file.c
+++ b/fs/unionfs/file.c
@@ -79,7 +79,7 @@ static ssize_t unionfs_write(struct file *file, const char __user *buf,
 	err = do_sync_write(file, buf, count, ppos);
 	/* update our inode times upon a successful lower write */
 	if (err >= 0) {
-		unionfs_copy_attr_times(file->f_dentry->d_inode);
+		unionfs_copy_attr_times(file->f_path.dentry->d_inode);
 		unionfs_check_file(file);
 	}
 
@@ -133,9 +133,9 @@ out:
 	unionfs_read_unlock(file->f_path.dentry->d_sb);
 	if (!err) {
 		/* copyup could cause parent dir times to change */
-		unionfs_copy_attr_times(file->f_dentry->d_parent->d_inode);
+		unionfs_copy_attr_times(file->f_path.dentry->d_parent->d_inode);
 		unionfs_check_file(file);
-		unionfs_check_dentry(file->f_dentry->d_parent);
+		unionfs_check_dentry(file->f_path.dentry->d_parent);
 	}
 	return err;
 }
diff --git a/fs/unionfs/mmap.c b/fs/unionfs/mmap.c
index 7b4a6f5..56937b7 100644
--- a/fs/unionfs/mmap.c
+++ b/fs/unionfs/mmap.c
@@ -121,7 +121,7 @@ static int unionfs_do_readpage(struct file *file, struct page *page)
 	struct page *lower_page;
 	char *lower_page_data;
 
-	dentry = file->f_dentry;
+	dentry = file->f_path.dentry;
 	if (UNIONFS_F(file) == NULL) {
 		err = -ENOENT;
 		goto out_err;
@@ -200,7 +200,7 @@ int unionfs_readpage(struct file *file, struct page *page)
 {
 	int err;
 
-	unionfs_read_lock(file->f_dentry->d_sb);
+	unionfs_read_lock(file->f_path.dentry->d_sb);
 	if ((err = unionfs_file_revalidate(file, 0)))
 		goto out;
 	unionfs_check_file(file);
@@ -210,7 +210,7 @@ int unionfs_readpage(struct file *file, struct page *page)
 	if (!err) {
 		touch_atime(unionfs_lower_mnt(file->f_path.dentry),
 			    unionfs_lower_dentry(file->f_path.dentry));
-		unionfs_copy_attr_times(file->f_dentry->d_inode);
+		unionfs_copy_attr_times(file->f_path.dentry->d_inode);
 	}
 
 	/*
@@ -221,7 +221,7 @@ int unionfs_readpage(struct file *file, struct page *page)
 out:
 	unlock_page(page);
 	unionfs_check_file(file);
-	unionfs_read_unlock(file->f_dentry->d_sb);
+	unionfs_read_unlock(file->f_path.dentry->d_sb);
 
 	return err;
 }
@@ -231,7 +231,7 @@ int unionfs_prepare_write(struct file *file, struct page *page, unsigned from,
 {
 	int err;
 
-	unionfs_read_lock(file->f_dentry->d_sb);
+	unionfs_read_lock(file->f_path.dentry->d_sb);
 	/*
 	 * This is the only place where we unconditionally copy the lower
 	 * attribute times before calling unionfs_file_revalidate.  The
@@ -243,10 +243,10 @@ int unionfs_prepare_write(struct file *file, struct page *page, unsigned from,
 	 * changed lower mtimes, and avoid an invariant violation warning,
 	 * is here, in ->prepare_write.
 	 */
-	unionfs_copy_attr_times(file->f_dentry->d_inode);
+	unionfs_copy_attr_times(file->f_path.dentry->d_inode);
 	err = unionfs_file_revalidate(file, 1);
 	unionfs_check_file(file);
-	unionfs_read_unlock(file->f_dentry->d_sb);
+	unionfs_read_unlock(file->f_path.dentry->d_sb);
 
 	return err;
 }
@@ -264,7 +264,7 @@ int unionfs_commit_write(struct file *file, struct page *page, unsigned from,
 
 	BUG_ON(file == NULL);
 
-	unionfs_read_lock(file->f_dentry->d_sb);
+	unionfs_read_lock(file->f_path.dentry->d_sb);
 	if ((err = unionfs_file_revalidate(file, 1)))
 		goto out;
 	unionfs_check_file(file);
@@ -312,7 +312,7 @@ out:
 	if (err < 0)
 		ClearPageUptodate(page);
 
-	unionfs_read_unlock(file->f_dentry->d_sb);
+	unionfs_read_unlock(file->f_path.dentry->d_sb);
 	unionfs_check_file(file);
 	return err;		/* assume all is ok */
 }
diff --git a/fs/unionfs/rdstate.c b/fs/unionfs/rdstate.c
index 06ad5a8..5c9d14b 100644
--- a/fs/unionfs/rdstate.c
+++ b/fs/unionfs/rdstate.c
@@ -91,7 +91,7 @@ int init_rdstate(struct file *file)
 	       (sizeof(unsigned int) + sizeof(unsigned int)));
 	BUG_ON(UNIONFS_F(file)->rdstate != NULL);
 
-	UNIONFS_F(file)->rdstate = alloc_rdstate(file->f_dentry->d_inode,
+	UNIONFS_F(file)->rdstate = alloc_rdstate(file->f_path.dentry->d_inode,
 						 fbstart(file));
 
 	return (UNIONFS_F(file)->rdstate ? 0 : -ENOMEM);


More information about the unionfs-cvs mailing list