aboutsummaryrefslogtreecommitdiffstats
path: root/fs/f2fs
diff options
context:
space:
mode:
authorNamjae Jeon <namjae.jeon@samsung.com>2013-02-02 23:52:42 +0900
committerJaegeuk Kim <jaegeuk.kim@samsung.com>2013-02-12 07:15:02 +0900
commit25718423ea6f7118f9c173adff0fac52414571b8 (patch)
tree8e1604e6c45a8c0e46172fd51122acd059573e7a /fs/f2fs
parentf2fs: name gc task as per the block device (diff)
downloadlinux-dev-25718423ea6f7118f9c173adff0fac52414571b8.tar.xz
linux-dev-25718423ea6f7118f9c173adff0fac52414571b8.zip
f2fs: mark gc_thread as NULL when thread creation is failed
When gc thread creation is failed, mark gc_thread as NULL to avoid crash while trying to stop invalid thread in stop_gc_thread->kthread_stop. Instead make it return from: if (!gc_th) return; Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com> Signed-off-by: Amit Sahrawat <a.sahrawat@samsung.com> Signed-off-by: Jaegeuk Kim <jaegeuk.kim@samsung.com>
Diffstat (limited to 'fs/f2fs')
-rw-r--r--fs/f2fs/gc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c
index b1e498503e59..16fdec355201 100644
--- a/fs/f2fs/gc.c
+++ b/fs/f2fs/gc.c
@@ -104,6 +104,7 @@ int start_gc_thread(struct f2fs_sb_info *sbi)
"f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev));
if (IS_ERR(gc_th->f2fs_gc_task)) {
kfree(gc_th);
+ sbi->gc_thread = NULL;
return -ENOMEM;
}
return 0;