diff options
Diffstat (limited to 'fs/gfs2/inode.c')
-rw-r--r-- | fs/gfs2/inode.c | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/fs/gfs2/inode.c b/fs/gfs2/inode.c index d122074c45e1..6bc443644c3c 100644 --- a/fs/gfs2/inode.c +++ b/fs/gfs2/inode.c | |||
@@ -281,16 +281,14 @@ out: | |||
281 | } | 281 | } |
282 | 282 | ||
283 | /** | 283 | /** |
284 | * gfs2_change_nlink - Change nlink count on inode | 284 | * gfs2_change_nlink_i - Change nlink count on inode |
285 | * @ip: The GFS2 inode | 285 | * @ip: The GFS2 inode |
286 | * @diff: The change in the nlink count required | 286 | * @diff: The change in the nlink count required |
287 | * | 287 | * |
288 | * Returns: errno | 288 | * Returns: errno |
289 | */ | 289 | */ |
290 | 290 | int gfs2_change_nlink_i(struct gfs2_inode *ip, int diff) | |
291 | int gfs2_change_nlink(struct gfs2_inode *ip, int diff) | ||
292 | { | 291 | { |
293 | struct gfs2_sbd *sdp = ip->i_inode.i_sb->s_fs_info; | ||
294 | struct buffer_head *dibh; | 292 | struct buffer_head *dibh; |
295 | u32 nlink; | 293 | u32 nlink; |
296 | int error; | 294 | int error; |
@@ -322,6 +320,20 @@ int gfs2_change_nlink(struct gfs2_inode *ip, int diff) | |||
322 | brelse(dibh); | 320 | brelse(dibh); |
323 | mark_inode_dirty(&ip->i_inode); | 321 | mark_inode_dirty(&ip->i_inode); |
324 | 322 | ||
323 | return error; | ||
324 | } | ||
325 | |||
326 | int gfs2_change_nlink(struct gfs2_inode *ip, int diff) | ||
327 | { | ||
328 | struct gfs2_sbd *sdp = ip->i_inode.i_sb->s_fs_info; | ||
329 | int error; | ||
330 | |||
331 | /* update the nlink */ | ||
332 | error = gfs2_change_nlink_i(ip, diff); | ||
333 | if (error) | ||
334 | return error; | ||
335 | |||
336 | /* return meta data block back to rg */ | ||
325 | if (ip->i_inode.i_nlink == 0) { | 337 | if (ip->i_inode.i_nlink == 0) { |
326 | struct gfs2_rgrpd *rgd; | 338 | struct gfs2_rgrpd *rgd; |
327 | struct gfs2_holder ri_gh, rg_gh; | 339 | struct gfs2_holder ri_gh, rg_gh; |