Unionfs: use set_nlinks
authorErez Zadok <ezk@cs.sunysb.edu>
Fri, 10 Feb 2012 20:36:33 +0000 (15:36 -0500)
committerErez Zadok <ezk@cs.sunysb.edu>
Tue, 11 Nov 2014 16:07:30 +0000 (11:07 -0500)
Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/unionfs/inode.c
fs/unionfs/rename.c
fs/unionfs/subr.c
fs/unionfs/unlink.c

index 83cb681d74f04d56d4eef9531c0c089680448003..afc9a2dc10386867175df23450e74a0ba1a50d57 100644 (file)
@@ -142,7 +142,7 @@ static int unionfs_create(struct inode *dir, struct dentry *dentry,
                        fsstack_copy_inode_size(dir,
                                                lower_parent_dentry->d_inode);
                        /* update no. of links on parent directory */
-                       dir->i_nlink = unionfs_get_nlinks(dir);
+                       set_nlink(dir, unionfs_get_nlinks(dir));
                }
        }
 
@@ -253,7 +253,7 @@ static int unionfs_link(struct dentry *old_dentry, struct inode *dir,
                lower_dir_dentry = dget_parent(lower_new_dentry);
                fsstack_copy_attr_times(dir, lower_dir_dentry->d_inode);
                dput(lower_dir_dentry);
-               dir->i_nlink = unionfs_get_nlinks(dir);
+               set_nlink(dir, unionfs_get_nlinks(dir));
                err = 0;
        }
        if (err)
@@ -328,7 +328,8 @@ check_link:
        fsstack_copy_inode_size(dir, lower_new_dentry->d_parent->d_inode);
 
        /* propagate number of hard-links */
-       old_dentry->d_inode->i_nlink = unionfs_get_nlinks(old_dentry->d_inode);
+       set_nlink(old_dentry->d_inode,
+                 unionfs_get_nlinks(old_dentry->d_inode));
        /* new dentry's ctime may have changed due to hard-link counts */
        unionfs_copy_attr_times(new_dentry->d_inode);
 
@@ -402,7 +403,7 @@ static int unionfs_symlink(struct inode *dir, struct dentry *dentry,
                        fsstack_copy_inode_size(dir,
                                                lower_parent_dentry->d_inode);
                        /* update no. of links on parent directory */
-                       dir->i_nlink = unionfs_get_nlinks(dir);
+                       set_nlink(dir, unionfs_get_nlinks(dir));
                }
        }
 
@@ -514,7 +515,7 @@ static int unionfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
                                                lower_parent_dentry->d_inode);
 
                        /* update number of links on parent directory */
-                       dir->i_nlink = unionfs_get_nlinks(dir);
+                       set_nlink(dir, unionfs_get_nlinks(dir));
                }
 
                err = make_dir_opaque(dentry, dbstart(dentry));
@@ -594,7 +595,7 @@ static int unionfs_mknod(struct inode *dir, struct dentry *dentry, int mode,
                        fsstack_copy_inode_size(dir,
                                                lower_parent_dentry->d_inode);
                        /* update no. of links on parent directory */
-                       dir->i_nlink = unionfs_get_nlinks(dir);
+                       set_nlink(dir, unionfs_get_nlinks(dir));
                }
        }
 
index c8ab910d98d63f6a5fce0985f18dcc7314b6b8ff..ce85b8421177bb8870ce6103d584c065dcbd11ba 100644 (file)
@@ -212,8 +212,8 @@ static int do_unionfs_rename(struct inode *old_dir,
                fsstack_copy_attr_times(new_parent->d_inode,
                                        unlink_dir_dentry->d_inode);
                /* propagate number of hard-links */
-               new_parent->d_inode->i_nlink =
-                       unionfs_get_nlinks(new_parent->d_inode);
+               set_nlink(new_parent->d_inode,
+                         unionfs_get_nlinks(new_parent->d_inode));
 
                unlock_dir(unlink_dir_dentry);
                if (!err) {
index bdca2f73d621cc912b2d27d37907186f88a75ec5..e7fc5a5f528d64726d3c699bfa6cd438e786ab85 100644 (file)
@@ -91,5 +91,5 @@ void unionfs_copy_attr_all(struct inode *dest,
         * Update the nlinks AFTER updating the above fields, because the
         * get_links callback may depend on them.
         */
-       dest->i_nlink = unionfs_get_nlinks(dest);
+       set_nlink(dest, unionfs_get_nlinks(dest));
 }
index bf447bbac220316ae29f29f60c58a6bc523540cc..25943a5643f565546e87e7b6c4e97b07966f8811 100644 (file)
@@ -190,7 +190,7 @@ static int unionfs_rmdir_first(struct inode *dir, struct dentry *dentry,
 
        fsstack_copy_attr_times(dir, lower_dir_dentry->d_inode);
        /* propagate number of hard-links */
-       dentry->d_inode->i_nlink = unionfs_get_nlinks(dentry->d_inode);
+       set_nlink(dentry->d_inode, unionfs_get_nlinks(dentry->d_inode));
 
 out:
        if (lower_dir_dentry)