filesystems: add missing nlink wrappers
authorMiklos Szeredi <mszeredi@suse.cz>
Fri, 28 Oct 2011 12:13:28 +0000 (14:13 +0200)
committerChristoph Hellwig <hch@serles.lst.de>
Wed, 2 Nov 2011 11:53:43 +0000 (12:53 +0100)
Replace direct i_nlink updates with the respective updater function
(inc_nlink, drop_nlink, clear_nlink, inode_dec_link_count).

Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
32 files changed:
arch/s390/hypfs/inode.c
drivers/mtd/mtdchar.c
fs/affs/amigaffs.c
fs/affs/namei.c
fs/binfmt_misc.c
fs/cifs/link.c
fs/coda/dir.c
fs/devpts/inode.c
fs/ext2/ialloc.c
fs/ext3/ialloc.c
fs/ext3/namei.c
fs/ext4/ialloc.c
fs/ext4/migrate.c
fs/ext4/namei.c
fs/hfs/dir.c
fs/hfsplus/dir.c
fs/hpfs/inode.c
fs/hugetlbfs/inode.c
fs/jfs/jfs_inode.c
fs/jfs/namei.c
fs/logfs/dir.c
fs/logfs/inode.c
fs/nfs/inode.c
fs/nilfs2/inode.c
fs/ocfs2/namei.c
fs/proc/proc_sysctl.c
fs/reiserfs/inode.c
fs/reiserfs/namei.c
fs/ubifs/xattr.c
fs/udf/namei.c
fs/ufs/ialloc.c
mm/shmem.c

index 7ae0d0d985a8ab11620029c1169ad06a787624f0..baa82f8dd0765ebf7e3978b333d3a71480cf970e 100644 (file)
@@ -359,7 +359,7 @@ static struct dentry *hypfs_create_file(struct super_block *sb,
        } else if (mode & S_IFDIR) {
                inode->i_op = &simple_dir_inode_operations;
                inode->i_fop = &simple_dir_operations;
-               parent->d_inode->i_nlink++;
+               inc_nlink(parent->d_inode);
        } else
                BUG();
        inode->i_private = data;
index f1af2228a1b1ec2e90ee2cb19958a68f0d7bb0da..61086ea3cc6bf7856b138042ea308d8b12af554a 100644 (file)
@@ -1144,7 +1144,7 @@ static void mtdchar_notify_remove(struct mtd_info *mtd)
 
        if (mtd_ino) {
                /* Destroy the inode if it exists */
-               mtd_ino->i_nlink = 0;
+               clear_nlink(mtd_ino);
                iput(mtd_ino);
        }
 }
index 3a4557e8325c1cccad9b0498fb0dd0617ed1e589..8f12723bbc9756300a5601fbe71b0897c43af8de 100644 (file)
@@ -316,7 +316,7 @@ affs_remove_header(struct dentry *dentry)
        if (inode->i_nlink > 1)
                retval = affs_remove_link(dentry);
        else
-               inode->i_nlink = 0;
+               clear_nlink(inode);
        affs_unlock_link(inode);
        inode->i_ctime = CURRENT_TIME_SEC;
        mark_inode_dirty(inode);
index e3e9efc1fdd8276b19eaccb02747afeb27172671..780a11dc6318b953a6160bd39cf2d631b7505cc8 100644 (file)
@@ -277,7 +277,7 @@ affs_create(struct inode *dir, struct dentry *dentry, int mode, struct nameidata
        inode->i_mapping->a_ops = (AFFS_SB(sb)->s_flags & SF_OFS) ? &affs_aops_ofs : &affs_aops;
        error = affs_add_entry(dir, inode, dentry, ST_FILE);
        if (error) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                iput(inode);
                return error;
        }
@@ -305,7 +305,7 @@ affs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
 
        error = affs_add_entry(dir, inode, dentry, ST_USERDIR);
        if (error) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                mark_inode_dirty(inode);
                iput(inode);
                return error;
@@ -392,7 +392,7 @@ affs_symlink(struct inode *dir, struct dentry *dentry, const char *symname)
        return 0;
 
 err:
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        mark_inode_dirty(inode);
        iput(inode);
        return error;
index ba1a1ae4a18a52c714ae82281e3c1f39fbfae02a..1e9edbdeda7ebcbe243b299d46859c4917f0e217 100644 (file)
@@ -521,7 +521,7 @@ static void kill_node(Node *e)
        write_unlock(&entries_lock);
 
        if (dentry) {
-               dentry->d_inode->i_nlink--;
+               drop_nlink(dentry->d_inode);
                d_drop(dentry);
                dput(dentry);
                simple_release_fs(&bm_mnt, &entry_count);
index 8693b5d0e180edaf11549d44a5fd9687aea3e077..6b0e064343910718c6fc1d58a5177940773b9cbf 100644 (file)
@@ -433,7 +433,7 @@ cifs_hardlink(struct dentry *old_file, struct inode *inode,
        if (old_file->d_inode) {
                cifsInode = CIFS_I(old_file->d_inode);
                if (rc == 0) {
-                       old_file->d_inode->i_nlink++;
+                       inc_nlink(old_file->d_inode);
 /* BB should we make this contingent on superblock flag NOATIME? */
 /*                     old_file->d_inode->i_ctime = CURRENT_TIME;*/
                        /* parent dir timestamps will update from srv
index 0239433f50cbe25749896439fc124131afcdf164..28e7e135cfabf9bf2bf9e613ca5904c4eeceba3c 100644 (file)
@@ -340,7 +340,7 @@ static int coda_rmdir(struct inode *dir, struct dentry *de)
        if (!error) {
                /* VFS may delete the child */
                if (de->d_inode)
-                   de->d_inode->i_nlink = 0;
+                       clear_nlink(de->d_inode);
 
                /* fix the link count of the parent */
                coda_dir_drop_nlink(dir);
index 2f27e578d4660e89c1215d7a9edc2dffa6439c89..c196e544c64e9d1c9e0eb765abb521dc65758706 100644 (file)
@@ -549,7 +549,7 @@ void devpts_pty_kill(struct tty_struct *tty)
 
        dentry = d_find_alias(inode);
 
-       inode->i_nlink--;
+       drop_nlink(inode);
        d_delete(dentry);
        dput(dentry);   /* d_alloc_name() in devpts_pty_new() */
        dput(dentry);           /* d_find_alias above */
index ee9ed31948e1229d123cbea2fcea5e45ff42aa3f..c4e81dfb74ba4f9a3604655d52a96f5832f75e6d 100644 (file)
@@ -601,7 +601,7 @@ fail_free_drop:
 fail_drop:
        dquot_drop(inode);
        inode->i_flags |= S_NOQUOTA;
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        unlock_new_inode(inode);
        iput(inode);
        return ERR_PTR(err);
index bf09cbf938cc155c3328b6cc6d6a8a6f1bed637c..835d4ea61b0e39ccc0c52a45edf03397645f544b 100644 (file)
@@ -621,7 +621,7 @@ fail_free_drop:
 fail_drop:
        dquot_drop(inode);
        inode->i_flags |= S_NOQUOTA;
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        unlock_new_inode(inode);
        iput(inode);
        brelse(bitmap_bh);
index 0629e09f65115798575e2fb7ea2a293aa41e0a39..8a60e33276597f4a3c2424f16e6d2bb34e67a02e 100644 (file)
@@ -1833,7 +1833,7 @@ retry:
 
        if (err) {
 out_clear_inode:
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                unlock_new_inode(inode);
                ext3_mark_inode_dirty(handle, inode);
                iput (inode);
index 9c63f273b550497759103ad0f6b4aaafd8e2049d..ecc55bd2f99762bab96892c5cc16f07ba3709c7f 100644 (file)
@@ -1084,7 +1084,7 @@ fail_free_drop:
 fail_drop:
        dquot_drop(inode);
        inode->i_flags |= S_NOQUOTA;
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        unlock_new_inode(inode);
        iput(inode);
        brelse(inode_bitmap_bh);
index b57b98fb44d1457ec9f98e60290d6da3a90fb6c8..667cc880bc0c32b89e1cd3ca9d361a4a9876a69c 100644 (file)
@@ -507,7 +507,7 @@ int ext4_ext_migrate(struct inode *inode)
         * Set the i_nlink to zero so it will be deleted later
         * when we drop inode reference.
         */
-       tmp_inode->i_nlink = 0;
+       clear_nlink(tmp_inode);
 
        ext4_ext_tree_init(handle, tmp_inode);
        ext4_orphan_add(handle, tmp_inode);
index 1c924faeb6c8ed90441051f4b368b4856928d24a..4623c082f3b20bac5547526c15f2e415f0b8710f 100644 (file)
@@ -2539,7 +2539,7 @@ static int ext4_rename(struct inode *old_dir, struct dentry *old_dentry,
                if (new_inode) {
                        /* checked empty_dir above, can't have another parent,
                         * ext4_dec_count() won't work for many-linked dirs */
-                       new_inode->i_nlink = 0;
+                       clear_nlink(new_inode);
                } else {
                        ext4_inc_count(handle, new_dir);
                        ext4_update_dx_flag(new_dir);
index b4d70b13be92548c6ac2cd72ae5e34f3ab53ec21..bce4eef91a063c44f8386d49c97afa388da77f2b 100644 (file)
@@ -198,7 +198,7 @@ static int hfs_create(struct inode *dir, struct dentry *dentry, int mode,
 
        res = hfs_cat_create(inode->i_ino, dir, &dentry->d_name, inode);
        if (res) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                hfs_delete_inode(inode);
                iput(inode);
                return res;
@@ -227,7 +227,7 @@ static int hfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
 
        res = hfs_cat_create(inode->i_ino, dir, &dentry->d_name, inode);
        if (res) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                hfs_delete_inode(inode);
                iput(inode);
                return res;
index 25b2443a004cd070ab49fe94e167898d32271a56..4536cd3f15aea783282e1158b280127c7565aa0e 100644 (file)
@@ -415,7 +415,7 @@ static int hfsplus_symlink(struct inode *dir, struct dentry *dentry,
        goto out;
 
 out_err:
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        hfsplus_delete_inode(inode);
        iput(inode);
 out:
@@ -440,7 +440,7 @@ static int hfsplus_mknod(struct inode *dir, struct dentry *dentry,
 
        res = hfsplus_create_cat(inode->i_ino, dir, &dentry->d_name, inode);
        if (res) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                hfsplus_delete_inode(inode);
                iput(inode);
                goto out;
index 338cd8368451cd081a800aa77440ce237f24b592..dfe800c8ae3858d5df21fd52dc1538a3dc4de33d 100644 (file)
@@ -53,7 +53,7 @@ void hpfs_read_inode(struct inode *i)
                i->i_mode &= ~0111;
                i->i_op = &hpfs_file_iops;
                i->i_fop = &hpfs_file_ops;
-               i->i_nlink = 0;*/
+               clear_nlink(i);*/
                make_bad_inode(i);
                return;
        }
index ec889538e5a6afe4014922e9468845195ea56193..0be5a78598d02a71f627ac0acb0ec83365b41845 100644 (file)
@@ -970,7 +970,7 @@ struct file *hugetlb_file_setup(const char *name, size_t size,
 
        d_instantiate(path.dentry, inode);
        inode->i_size = size;
-       inode->i_nlink = 0;
+       clear_nlink(inode);
 
        error = -ENFILE;
        file = alloc_file(&path, FMODE_WRITE | FMODE_READ,
index 2686531e235ab0e484e50bbdca018a5a55ef4b1d..c1a3e603279c9cbe4fb141fc2b9bdcfa1d76a033 100644 (file)
@@ -157,7 +157,7 @@ fail_drop:
        dquot_drop(inode);
        inode->i_flags |= S_NOQUOTA;
 fail_unlock:
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        unlock_new_inode(inode);
 fail_put:
        iput(inode);
index e17545e15664d77cf5d3af35c2c34c99123b929d..94b0a624b85f4d3cae7ea1f09d647abeda733b18 100644 (file)
@@ -172,7 +172,7 @@ static int jfs_create(struct inode *dip, struct dentry *dentry, int mode,
        mutex_unlock(&JFS_IP(dip)->commit_mutex);
        if (rc) {
                free_ea_wmap(ip);
-               ip->i_nlink = 0;
+               clear_nlink(ip);
                unlock_new_inode(ip);
                iput(ip);
        } else {
@@ -311,7 +311,7 @@ static int jfs_mkdir(struct inode *dip, struct dentry *dentry, int mode)
        mutex_unlock(&JFS_IP(dip)->commit_mutex);
        if (rc) {
                free_ea_wmap(ip);
-               ip->i_nlink = 0;
+               clear_nlink(ip);
                unlock_new_inode(ip);
                iput(ip);
        } else {
@@ -844,7 +844,7 @@ static int jfs_link(struct dentry *old_dentry,
        rc = txCommit(tid, 2, &iplist[0], 0);
 
        if (rc) {
-               ip->i_nlink--; /* never instantiated */
+               drop_nlink(ip); /* never instantiated */
                iput(ip);
        } else
                d_instantiate(dentry, ip);
@@ -1048,7 +1048,7 @@ static int jfs_symlink(struct inode *dip, struct dentry *dentry,
        mutex_unlock(&JFS_IP(dip)->commit_mutex);
        if (rc) {
                free_ea_wmap(ip);
-               ip->i_nlink = 0;
+               clear_nlink(ip);
                unlock_new_inode(ip);
                iput(ip);
        } else {
@@ -1433,7 +1433,7 @@ static int jfs_mknod(struct inode *dir, struct dentry *dentry,
        mutex_unlock(&JFS_IP(dir)->commit_mutex);
        if (rc) {
                free_ea_wmap(ip);
-               ip->i_nlink = 0;
+               clear_nlink(ip);
                unlock_new_inode(ip);
                iput(ip);
        } else {
index b3ff3d894165f6ae0ef2108e656f9eef904f4fa8..b7d7f67cee5acc60b254722c175bf35d5dcc021e 100644 (file)
@@ -197,7 +197,7 @@ static int logfs_remove_inode(struct inode *inode)
 {
        int ret;
 
-       inode->i_nlink--;
+       drop_nlink(inode);
        ret = write_inode(inode);
        LOGFS_BUG_ON(ret, inode->i_sb);
        return ret;
@@ -433,7 +433,7 @@ static int __logfs_create(struct inode *dir, struct dentry *dentry,
 
        ta = kzalloc(sizeof(*ta), GFP_KERNEL);
        if (!ta) {
-               inode->i_nlink--;
+               drop_nlink(inode);
                iput(inode);
                return -ENOMEM;
        }
@@ -456,7 +456,7 @@ static int __logfs_create(struct inode *dir, struct dentry *dentry,
                abort_transaction(inode, ta);
                li->li_flags |= LOGFS_IF_STILLBORN;
                /* FIXME: truncate symlink */
-               inode->i_nlink--;
+               drop_nlink(inode);
                iput(inode);
                goto out;
        }
@@ -563,7 +563,7 @@ static int logfs_link(struct dentry *old_dentry, struct inode *dir,
 
        inode->i_ctime = dir->i_ctime = dir->i_mtime = CURRENT_TIME;
        ihold(inode);
-       inode->i_nlink++;
+       inc_nlink(inode);
        mark_inode_dirty_sync(inode);
 
        return __logfs_create(dir, dentry, inode, NULL, 0);
index 9abb048b96c0a20a5b2a6a2fe7b42cb535482fad..7e441ad5f7923522f739354592e250a277d6076b 100644 (file)
@@ -93,7 +93,7 @@ static struct inode *__logfs_iget(struct super_block *sb, ino_t ino)
                /* inode->i_nlink == 0 can be true when called from
                 * block validator */
                /* set i_nlink to 0 to prevent caching */
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                logfs_inode(inode)->li_flags |= LOGFS_IF_ZOMBIE;
                iget_failed(inode);
                if (!err)
index 4dc6d078f10824129c88c64267cc38c21cd8d16a..1fc715acc2da3540b3f37210c3824bdcbc72d5d7 100644 (file)
@@ -320,7 +320,7 @@ nfs_fhget(struct super_block *sb, struct nfs_fh *fh, struct nfs_fattr *fattr)
                memset(&inode->i_ctime, 0, sizeof(inode->i_ctime));
                inode->i_version = 0;
                inode->i_size = 0;
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                inode->i_uid = -2;
                inode->i_gid = -2;
                inode->i_blocks = 0;
index 666628b395f136447f5d27482234f69e0190a90c..08ac272b7c288e773e8f39324e9e136a2cf47b60 100644 (file)
@@ -354,7 +354,7 @@ struct inode *nilfs_new_inode(struct inode *dir, int mode)
 
  failed_acl:
  failed_bmap:
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        iput(inode);  /* raw_inode will be deleted through
                         generic_delete_inode() */
        goto failed;
index 0181f63dd463ce4b4a463d7ea1fe6baae754b9a6..ea0ecbdda58c4ca5a4283a82cad8a68ae14d5b22 100644 (file)
@@ -1377,7 +1377,7 @@ static int ocfs2_rename(struct inode *old_dir,
        }
 
        if (new_inode) {
-               new_inode->i_nlink--;
+               drop_nlink(new_inode);
                new_inode->i_ctime = CURRENT_TIME;
        }
        old_dir->i_ctime = old_dir->i_mtime = CURRENT_TIME;
@@ -1385,9 +1385,9 @@ static int ocfs2_rename(struct inode *old_dir,
        if (update_dot_dot) {
                status = ocfs2_update_entry(old_inode, handle,
                                            &old_inode_dot_dot_res, new_dir);
-               old_dir->i_nlink--;
+               drop_nlink(old_dir);
                if (new_inode) {
-                       new_inode->i_nlink--;
+                       drop_nlink(new_inode);
                } else {
                        inc_nlink(new_dir);
                        mark_inode_dirty(new_dir);
@@ -2280,7 +2280,7 @@ int ocfs2_create_inode_in_orphan(struct inode *dir,
                goto leave;
        }
 
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        /* do the real work now. */
        status = __ocfs2_mknod_locked(dir, inode,
                                      0, &new_di_bh, parent_di_bh, handle,
index 1a77dbef226f00a2c41a5606b6e3c95fece6f5aa..b44113279e30499f5379d50aa509a071db542a8b 100644 (file)
@@ -39,7 +39,7 @@ static struct inode *proc_sys_make_inode(struct super_block *sb,
                inode->i_fop = &proc_sys_file_operations;
        } else {
                inode->i_mode |= S_IFDIR;
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                inode->i_op = &proc_sys_dir_operations;
                inode->i_fop = &proc_sys_dir_file_operations;
        }
index 9b0d4b78b4fbf83f8591b8910b794e4219466cda..c425441c6942c95b70290a3b819ffb223fb5ddf6 100644 (file)
@@ -1444,7 +1444,7 @@ void reiserfs_read_locked_inode(struct inode *inode,
                /* a stale NFS handle can trigger this without it being an error */
                pathrelse(&path_to_sd);
                reiserfs_make_bad_inode(inode);
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                return;
        }
 
@@ -1987,7 +1987,7 @@ int reiserfs_new_inode(struct reiserfs_transaction_handle *th,
        make_bad_inode(inode);
 
       out_inserted_sd:
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        th->t_trans_id = 0;     /* so the caller can't use this handle later */
        unlock_new_inode(inode); /* OK to do even if we hadn't locked it */
        iput(inode);
index ef392324bbf14f7b06de26ef30cc75461f7a1f84..6ce33282163396e850809e01b75f1e7a35e1e0c7 100644 (file)
@@ -622,7 +622,7 @@ static int reiserfs_create(struct inode *dir, struct dentry *dentry, int mode,
                               dentry->d_name.len, inode, 1 /*visible */ );
        if (retval) {
                int err;
-               inode->i_nlink--;
+               drop_nlink(inode);
                reiserfs_update_sd(&th, inode);
                err = journal_end(&th, dir->i_sb, jbegin_count);
                if (err)
@@ -702,7 +702,7 @@ static int reiserfs_mknod(struct inode *dir, struct dentry *dentry, int mode,
                               dentry->d_name.len, inode, 1 /*visible */ );
        if (retval) {
                int err;
-               inode->i_nlink--;
+               drop_nlink(inode);
                reiserfs_update_sd(&th, inode);
                err = journal_end(&th, dir->i_sb, jbegin_count);
                if (err)
@@ -787,7 +787,7 @@ static int reiserfs_mkdir(struct inode *dir, struct dentry *dentry, int mode)
                               dentry->d_name.len, inode, 1 /*visible */ );
        if (retval) {
                int err;
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                DEC_DIR_INODE_NLINK(dir);
                reiserfs_update_sd(&th, inode);
                err = journal_end(&th, dir->i_sb, jbegin_count);
@@ -1086,7 +1086,7 @@ static int reiserfs_symlink(struct inode *parent_dir,
                                    dentry->d_name.len, inode, 1 /*visible */ );
        if (retval) {
                int err;
-               inode->i_nlink--;
+               drop_nlink(inode);
                reiserfs_update_sd(&th, inode);
                err = journal_end(&th, parent_dir->i_sb, jbegin_count);
                if (err)
@@ -1129,7 +1129,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,
 
        retval = journal_begin(&th, dir->i_sb, jbegin_count);
        if (retval) {
-               inode->i_nlink--;
+               drop_nlink(inode);
                reiserfs_write_unlock(dir->i_sb);
                return retval;
        }
@@ -1144,7 +1144,7 @@ static int reiserfs_link(struct dentry *old_dentry, struct inode *dir,
 
        if (retval) {
                int err;
-               inode->i_nlink--;
+               drop_nlink(inode);
                err = journal_end(&th, dir->i_sb, jbegin_count);
                reiserfs_write_unlock(dir->i_sb);
                return err ? err : retval;
index 16f19f55e63fa53e20dcc2cf520794b27b1290a7..993adc8f1c87c9f697f1e022e1a048d273ffe60d 100644 (file)
@@ -558,7 +558,7 @@ int ubifs_removexattr(struct dentry *dentry, const char *name)
        }
 
        ubifs_assert(inode->i_nlink == 1);
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        err = remove_xattr(c, host, inode, &nm);
        if (err)
                inode->i_nlink = 1;
index f1dce848ef966ea1853c9f50ce2d9cc997114a18..e8d61b114c1b4dabd5b94a32793bb46c9ca94b96 100644 (file)
@@ -577,8 +577,7 @@ static int udf_create(struct inode *dir, struct dentry *dentry, int mode,
 
        fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
        if (!fi) {
-               inode->i_nlink--;
-               mark_inode_dirty(inode);
+               inode_dec_link_count(inode);
                iput(inode);
                return err;
        }
@@ -618,8 +617,7 @@ static int udf_mknod(struct inode *dir, struct dentry *dentry, int mode,
        init_special_inode(inode, mode, rdev);
        fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
        if (!fi) {
-               inode->i_nlink--;
-               mark_inode_dirty(inode);
+               inode_dec_link_count(inode);
                iput(inode);
                return err;
        }
@@ -665,8 +663,7 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
        inode->i_fop = &udf_dir_operations;
        fi = udf_add_entry(inode, NULL, &fibh, &cfi, &err);
        if (!fi) {
-               inode->i_nlink--;
-               mark_inode_dirty(inode);
+               inode_dec_link_count(inode);
                iput(inode);
                goto out;
        }
@@ -683,7 +680,7 @@ static int udf_mkdir(struct inode *dir, struct dentry *dentry, int mode)
 
        fi = udf_add_entry(dir, dentry, &fibh, &cfi, &err);
        if (!fi) {
-               inode->i_nlink = 0;
+               clear_nlink(inode);
                mark_inode_dirty(inode);
                iput(inode);
                goto out;
index 2eabf04af3de12e98d0fbf812879825e7247e619..78a4c70d46b5de3cd42e2181b2dadf9f7c7774a7 100644 (file)
@@ -341,7 +341,7 @@ cg_found:
 
 fail_remove_inode:
        unlock_super(sb);
-       inode->i_nlink = 0;
+       clear_nlink(inode);
        iput(inode);
        UFSD("EXIT (FAILED): err %d\n", err);
        return ERR_PTR(err);
index fa4fa6ce13bc431c65de6725d9b86f6db24bf041..45b9acb575f9c5c2ad6a869d1e7c28abba3a890e 100644 (file)
@@ -2503,7 +2503,7 @@ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags
 
        d_instantiate(path.dentry, inode);
        inode->i_size = size;
-       inode->i_nlink = 0;     /* It is unlinked */
+       clear_nlink(inode);     /* It is unlinked */
 #ifndef CONFIG_MMU
        error = ramfs_nommu_expand_for_mapping(inode, size);
        if (error)