Hi, How about this? 2013-02-05 (화), 23:24 +0900, Namjae Jeon: > From: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> > > After the commit 2184ad190a79ae2b40b5f5db1fbde5c22db6d310, it allowed > for naming GC threads based on the device. > i.e., if we have F2FS formatted partition in different devices - we will > have their GC thread names after the device. But, when we have a case like > 2 or more partitions on the same device having F2FS filesystem. > In that case we are not able to differentiate between the GC threads. > So, to differentiate at all possible levels we can use the major/minor of > the device to have unique identification in the name. > > Before patch: > root 9726 0.0 0.0 0 0 ? S 14:32 0:00 [f2fs_gc-8:48] > root 9736 0.0 0.0 0 0 ? S 14:32 0:00 [f2fs_gc-8:16] > root 9892 0.0 0.0 0 0 ? S 14:33 0:00 [f2fs_gc-8:32] > root 9907 0.0 0.0 0 0 ? S 14:34 0:00 [f2fs_gc-8:32] > > After Patch: > root 16756 0.0 0.0 0 0 ? S 14:57 0:00 [f2fs_gc-8:18] > root 16765 0.0 0.0 0 0 ? S 14:57 0:00 [f2fs_gc-8:19] > root 16806 0.0 0.0 0 0 ? S 14:58 0:00 [f2fs_gc-8:34] > root 16817 0.0 0.0 0 0 ? S 14:58 0:00 [f2fs_gc-8:52] > root 16756 0.0 0.0 0 0 ? S 14:57 0:00 [f2fs_gc-sdb1] root 16765 0.0 0.0 0 0 ? S 14:57 0:00 [f2fs_gc-sdb2] IMO, it would be better to describe like this. We can simply use bdevname(bdev, name), so if no objection, I'll rebase this patch with this. Please, give me your opinion. Thanks, > Signed-off-by: Namjae Jeon <namjae.jeon@xxxxxxxxxxx> > Signed-off-by: Amit Sahrawat <a.sahrawat@xxxxxxxxxxx> > --- > fs/f2fs/gc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/fs/f2fs/gc.c b/fs/f2fs/gc.c > index 742135a..b0c1f8c 100644 > --- a/fs/f2fs/gc.c > +++ b/fs/f2fs/gc.c > @@ -91,6 +91,7 @@ static int gc_thread_func(void *data) > int start_gc_thread(struct f2fs_sb_info *sbi) > { > struct f2fs_gc_kthread *gc_th; > + dev_t dev = sbi->sb->s_bdev->bd_dev; > > if (!test_opt(sbi, BG_GC)) > return 0; > @@ -101,7 +102,7 @@ int start_gc_thread(struct f2fs_sb_info *sbi) > sbi->gc_thread = gc_th; > init_waitqueue_head(&sbi->gc_thread->gc_wait_queue_head); > sbi->gc_thread->f2fs_gc_task = kthread_run(gc_thread_func, sbi, > - "f2fs_gc-%s", dev_name(sbi->sb->s_bdi->dev)); > + "f2fs_gc-%u:%u", MAJOR(dev), MINOR(dev)); > if (IS_ERR(gc_th->f2fs_gc_task)) { > kfree(gc_th); > sbi->gc_thread = NULL; -- Jaegeuk Kim Samsung
Attachment:
signature.asc
Description: This is a digitally signed message part