Unionfs: use the new path_put
authorJan Blunck <jblunck@suse.de>
Fri, 15 Feb 2008 23:47:28 +0000 (18:47 -0500)
committerErez Zadok <ezk@cs.sunysb.edu>
Fri, 29 Apr 2011 02:26:01 +0000 (22:26 -0400)
* 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 <jblunck@suse.de>
Signed-off-by: Andreas Gruenbacher <agruen@suse.de>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/main.c
fs/unionfs/super.c

index 4bc2c66039a29766907a5131d535c3f4767d4b89..3585b29388c27d1c050e5582020496e45f7006c7 100644 (file)
@@ -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;
                }
 
index b71fc2ad86ed4b1397723fb8e9b72b07dbda6ab3..773623e48c850c164d426d87f4af4860922a66c9 100644 (file)
@@ -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);