diff options
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/namei.c | 21 |
1 files changed, 3 insertions, 18 deletions
diff --git a/fs/ext4/namei.c b/fs/ext4/namei.c index 05c0d7f8fdf9..34b3448b40f9 100644 --- a/fs/ext4/namei.c +++ b/fs/ext4/namei.c | |||
@@ -1616,21 +1616,6 @@ static int ext4_delete_entry (handle_t *handle, | |||
1616 | return -ENOENT; | 1616 | return -ENOENT; |
1617 | } | 1617 | } |
1618 | 1618 | ||
1619 | /* | ||
1620 | * ext4_mark_inode_dirty is somewhat expensive, so unlike ext2 we | ||
1621 | * do not perform it in these functions. We perform it at the call site, | ||
1622 | * if it is needed. | ||
1623 | */ | ||
1624 | static inline void ext4_inc_count(handle_t *handle, struct inode *inode) | ||
1625 | { | ||
1626 | inc_nlink(inode); | ||
1627 | } | ||
1628 | |||
1629 | static inline void ext4_dec_count(handle_t *handle, struct inode *inode) | ||
1630 | { | ||
1631 | drop_nlink(inode); | ||
1632 | } | ||
1633 | |||
1634 | static int ext4_add_nondir(handle_t *handle, | 1619 | static int ext4_add_nondir(handle_t *handle, |
1635 | struct dentry *dentry, struct inode *inode) | 1620 | struct dentry *dentry, struct inode *inode) |
1636 | { | 1621 | { |
@@ -1640,7 +1625,7 @@ static int ext4_add_nondir(handle_t *handle, | |||
1640 | d_instantiate(dentry, inode); | 1625 | d_instantiate(dentry, inode); |
1641 | return 0; | 1626 | return 0; |
1642 | } | 1627 | } |
1643 | ext4_dec_count(handle, inode); | 1628 | drop_nlink(inode); |
1644 | iput(inode); | 1629 | iput(inode); |
1645 | return err; | 1630 | return err; |
1646 | } | 1631 | } |
@@ -2161,7 +2146,7 @@ retry: | |||
2161 | err = __page_symlink(inode, symname, l, | 2146 | err = __page_symlink(inode, symname, l, |
2162 | mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS); | 2147 | mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS); |
2163 | if (err) { | 2148 | if (err) { |
2164 | ext4_dec_count(handle, inode); | 2149 | drop_nlink(inode); |
2165 | ext4_mark_inode_dirty(handle, inode); | 2150 | ext4_mark_inode_dirty(handle, inode); |
2166 | iput (inode); | 2151 | iput (inode); |
2167 | goto out_stop; | 2152 | goto out_stop; |
@@ -2206,7 +2191,7 @@ retry: | |||
2206 | handle->h_sync = 1; | 2191 | handle->h_sync = 1; |
2207 | 2192 | ||
2208 | inode->i_ctime = CURRENT_TIME_SEC; | 2193 | inode->i_ctime = CURRENT_TIME_SEC; |
2209 | ext4_inc_count(handle, inode); | 2194 | inc_nlink(inode); |
2210 | atomic_inc(&inode->i_count); | 2195 | atomic_inc(&inode->i_count); |
2211 | 2196 | ||
2212 | err = ext4_add_nondir(handle, dentry, inode); | 2197 | err = ext4_add_nondir(handle, dentry, inode); |