From: Jan Blunck <[EMAIL PROTECTED]>

* Add path_put() functions for releasing a reference to the dentry and
  vfsmount of a struct path in the right order

* Switch from path_release(nd) to path_put(&nd->path)

* Rename dput_path() to path_put_conditional()

Signed-off-by: Jan Blunck <[EMAIL PROTECTED]>
Signed-off-by: Andreas Gruenbacher <[EMAIL PROTECTED]>
Acked-by: Christoph Hellwig <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Erez Zadok <[EMAIL PROTECTED]>
---
 fs/unionfs/main.c  |    2 +-
 fs/unionfs/super.c |   12 ++++++------
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/fs/unionfs/main.c b/fs/unionfs/main.c
index 4bc2c66..3585b29 100644
--- a/fs/unionfs/main.c
+++ b/fs/unionfs/main.c
@@ -371,7 +371,7 @@ static int parse_dirs_option(struct super_block *sb, struct 
unionfs_dentry_info
                if (err) {
                        printk(KERN_ERR "unionfs: lower directory "
                               "'%s' is not a valid branch\n", name);
-                       path_release(&nd);
+                       path_put(&nd.path);
                        goto out;
                }
 
diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c
index b71fc2a..773623e 100644
--- a/fs/unionfs/super.c
+++ b/fs/unionfs/super.c
@@ -234,7 +234,7 @@ static noinline int do_remount_mode_option(char *optarg, 
int cur_branches,
                if (nd.mnt == new_lower_paths[idx].mnt &&
                    nd.dentry == new_lower_paths[idx].dentry)
                        break;
-       path_release(&nd);      /* no longer needed */
+       path_put(&nd.path);     /* no longer needed */
        if (idx == cur_branches) {
                err = -ENOENT;  /* err may have been reset above */
                printk(KERN_ERR "unionfs: branch \"%s\" "
@@ -277,7 +277,7 @@ static noinline int do_remount_del_option(char *optarg, int 
cur_branches,
                if (nd.mnt == new_lower_paths[idx].mnt &&
                    nd.dentry == new_lower_paths[idx].dentry)
                        break;
-       path_release(&nd);      /* no longer needed */
+       path_put(&nd.path);     /* no longer needed */
        if (idx == cur_branches) {
                printk(KERN_ERR "unionfs: branch \"%s\" "
                       "not found\n", optarg);
@@ -296,7 +296,7 @@ static noinline int do_remount_del_option(char *optarg, int 
cur_branches,
         * new_data and new_lower_paths one to the left.  Finally, adjust
         * cur_branches.
         */
-       pathput(&new_lower_paths[idx]);
+       path_put(&new_lower_paths[idx]);
 
        if (idx < cur_branches - 1) {
                /* if idx==cur_branches-1, we delete last branch: easy */
@@ -361,7 +361,7 @@ static noinline int do_remount_add_option(char *optarg, int 
cur_branches,
                if (nd.mnt == new_lower_paths[idx].mnt &&
                    nd.dentry == new_lower_paths[idx].dentry)
                        break;
-       path_release(&nd);      /* no longer needed */
+       path_put(&nd.path);     /* no longer needed */
        if (idx == cur_branches) {
                printk(KERN_ERR "unionfs: branch \"%s\" "
                       "not found\n", optarg);
@@ -408,7 +408,7 @@ found_insertion_point:
        if (err) {
                printk(KERN_ERR "unionfs: lower directory "
                       "\"%s\" is not a valid branch\n", optarg);
-               path_release(&nd);
+               path_put(&nd.path);
                goto out;
        }
 
@@ -818,7 +818,7 @@ out_release:
        /* no need to cleanup/release anything in tmp_data */
        if (tmp_lower_paths)
                for (i = 0; i < new_branches; i++)
-                       pathput(&tmp_lower_paths[i]);
+                       path_put(&tmp_lower_paths[i]);
 out_free:
        kfree(tmp_lower_paths);
        kfree(tmp_data);
-- 
1.5.2.2

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to