From b472ed30562b18b5e855a9c57c8b46675c9031cd Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Thu, 26 May 2011 08:26:05 +0300 Subject: [PATCH] --- yaml --- r: 253002 b: refs/heads/master c: 1a0b06997ceca96db9259e537eb935f9fe59a3de h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/fs/ubifs/super.c | 5 ++++- trunk/fs/ubifs/ubifs.h | 2 ++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 074966ec0ff5..97a02516d22d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ab75950b11e74145ffe61376ac073d56645aab8a +refs/heads/master: 1a0b06997ceca96db9259e537eb935f9fe59a3de diff --git a/trunk/fs/ubifs/super.c b/trunk/fs/ubifs/super.c index 1ab0d22e4c94..1e40db740da9 100644 --- a/trunk/fs/ubifs/super.c +++ b/trunk/fs/ubifs/super.c @@ -811,15 +811,18 @@ static int alloc_wbufs(struct ubifs_info *c) c->jheads[i].wbuf.sync_callback = &bud_wbuf_callback; c->jheads[i].wbuf.jhead = i; + c->jheads[i].grouped = 1; } c->jheads[BASEHD].wbuf.dtype = UBI_SHORTTERM; /* * Garbage Collector head likely contains long-term data and - * does not need to be synchronized by timer. + * does not need to be synchronized by timer. Also GC head nodes are + * not grouped. */ c->jheads[GCHD].wbuf.dtype = UBI_LONGTERM; c->jheads[GCHD].wbuf.no_timer = 1; + c->jheads[GCHD].grouped = 0; return 0; } diff --git a/trunk/fs/ubifs/ubifs.h b/trunk/fs/ubifs/ubifs.h index a70d7b4ffb25..adeca14c0e9f 100644 --- a/trunk/fs/ubifs/ubifs.h +++ b/trunk/fs/ubifs/ubifs.h @@ -722,12 +722,14 @@ struct ubifs_bud { * struct ubifs_jhead - journal head. * @wbuf: head's write-buffer * @buds_list: list of bud LEBs belonging to this journal head + * @grouped: non-zero if UBIFS groups nodes when writing to this journal head * * Note, the @buds list is protected by the @c->buds_lock. */ struct ubifs_jhead { struct ubifs_wbuf wbuf; struct list_head buds_list; + unsigned int grouped:1; }; /**