diff options
Diffstat (limited to 'fs/nilfs2')
-rw-r--r-- | fs/nilfs2/cpfile.c | 6 | ||||
-rw-r--r-- | fs/nilfs2/ioctl.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/fs/nilfs2/cpfile.c b/fs/nilfs2/cpfile.c index e90b60dfced9..300f1cdfa862 100644 --- a/fs/nilfs2/cpfile.c +++ b/fs/nilfs2/cpfile.c | |||
@@ -311,7 +311,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
311 | ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); | 311 | ret = nilfs_cpfile_get_checkpoint_block(cpfile, cno, 0, &cp_bh); |
312 | if (ret < 0) { | 312 | if (ret < 0) { |
313 | if (ret != -ENOENT) | 313 | if (ret != -ENOENT) |
314 | goto out_sem; | 314 | goto out_header; |
315 | /* skip hole */ | 315 | /* skip hole */ |
316 | ret = 0; | 316 | ret = 0; |
317 | continue; | 317 | continue; |
@@ -344,7 +344,7 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
344 | continue; | 344 | continue; |
345 | printk(KERN_ERR "%s: cannot delete block\n", | 345 | printk(KERN_ERR "%s: cannot delete block\n", |
346 | __func__); | 346 | __func__); |
347 | goto out_sem; | 347 | goto out_header; |
348 | } | 348 | } |
349 | } | 349 | } |
350 | 350 | ||
@@ -361,6 +361,8 @@ int nilfs_cpfile_delete_checkpoints(struct inode *cpfile, | |||
361 | nilfs_mdt_mark_dirty(cpfile); | 361 | nilfs_mdt_mark_dirty(cpfile); |
362 | kunmap_atomic(kaddr, KM_USER0); | 362 | kunmap_atomic(kaddr, KM_USER0); |
363 | } | 363 | } |
364 | |||
365 | out_header: | ||
364 | brelse(header_bh); | 366 | brelse(header_bh); |
365 | 367 | ||
366 | out_sem: | 368 | out_sem: |
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c index 50ff3f2cdf24..d6759b92006f 100644 --- a/fs/nilfs2/ioctl.c +++ b/fs/nilfs2/ioctl.c | |||
@@ -576,7 +576,7 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, | |||
576 | ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); | 576 | ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); |
577 | 577 | ||
578 | out_free: | 578 | out_free: |
579 | while (--n > 0) | 579 | while (--n >= 0) |
580 | vfree(kbufs[n]); | 580 | vfree(kbufs[n]); |
581 | kfree(kbufs[4]); | 581 | kfree(kbufs[4]); |
582 | return ret; | 582 | return ret; |