|
@@ -599,9 +599,7 @@ static int link_dinode(struct gfs2_inode *dip, const struct qstr *name,
|
|
|
error = gfs2_meta_inode_buffer(ip, &dibh);
|
|
|
if (error)
|
|
|
goto fail_end_trans;
|
|
|
- inc_nlink(&ip->i_inode);
|
|
|
- if (S_ISDIR(ip->i_inode.i_mode))
|
|
|
- inc_nlink(&ip->i_inode);
|
|
|
+ set_nlink(&ip->i_inode, S_ISDIR(ip->i_inode.i_mode) ? 2 : 1);
|
|
|
gfs2_trans_add_bh(ip->i_gl, dibh, 1);
|
|
|
gfs2_dinode_out(ip, dibh->b_data);
|
|
|
brelse(dibh);
|