diff options
Diffstat (limited to 'fs/nilfs2/ioctl.c')
-rw-r--r-- | fs/nilfs2/ioctl.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/fs/nilfs2/ioctl.c b/fs/nilfs2/ioctl.c index 0d1c9bdbb79..cee648eb403 100644 --- a/fs/nilfs2/ioctl.c +++ b/fs/nilfs2/ioctl.c | |||
@@ -661,8 +661,11 @@ static int nilfs_ioctl_clean_segments(struct inode *inode, struct file *filp, | |||
661 | if (ret < 0) | 661 | if (ret < 0) |
662 | printk(KERN_ERR "NILFS: GC failed during preparation: " | 662 | printk(KERN_ERR "NILFS: GC failed during preparation: " |
663 | "cannot read source blocks: err=%d\n", ret); | 663 | "cannot read source blocks: err=%d\n", ret); |
664 | else | 664 | else { |
665 | if (nilfs_sb_need_update(nilfs)) | ||
666 | set_nilfs_discontinued(nilfs); | ||
665 | ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); | 667 | ret = nilfs_clean_segments(inode->i_sb, argv, kbufs); |
668 | } | ||
666 | 669 | ||
667 | nilfs_remove_all_gcinodes(nilfs); | 670 | nilfs_remove_all_gcinodes(nilfs); |
668 | clear_nilfs_gc_running(nilfs); | 671 | clear_nilfs_gc_running(nilfs); |