All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marcin Slusarz <marcin.slusarz@gmail.com>
To: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
	Adrian Hunter <ext-adrian.hunter@nokia.com>
Subject: Re: [PATCH take 2 06/28] UBIFS: add journal replay
Date: Wed, 7 May 2008 00:05:36 +0200	[thread overview]
Message-ID: <20080506220315.GA6464@joi> (raw)
In-Reply-To: <1210070159-22794-7-git-send-email-Artem.Bityutskiy@nokia.com>

On Tue, May 06, 2008 at 01:35:37PM +0300, Artem Bityutskiy wrote:
> +/**
> + * insert_ref_node - insert a ref node to the replay tree.
> + * @c: UBIFS file-system description object
> + * @lnum: node logical eraseblock number
> + * @offs: node offset
> + * @sqnum: sequence number
> + * @free: amount of free space in bud
> + * @dirty: amount of dirty space from padding and deletion nodes
> + */
> +static int insert_ref_node(struct ubifs_info *c, int lnum, int offs,
> +			   unsigned long long sqnum, int free, int dirty)
> +{
> +	struct rb_node **p = &c->replay_tree.rb_node, *parent = NULL;
> +	struct replay_entry *r;
> +	union ubifs_key key;
> +	int cmp;
> +
> +	dbg_mnt("add ref LEB %d:%d", lnum, offs);
> +	highest_ino_key(c, &key, -1);
> +	while (*p) {
> +		parent = *p;
> +		r = rb_entry(parent, struct replay_entry, rb);
> +		cmp = keys_cmp(c, &key, &r->key);

return value of keys_cmp is never used in this function

> +		if (sqnum < r->sqnum) {
> +			p = &(*p)->rb_left;
> +			continue;
> +		} else if (sqnum > r->sqnum) {
> +			p = &(*p)->rb_right;
> +			continue;
> +		}
> +		ubifs_err("duplicate sqnum in r");
> +		return -EINVAL;
> +	}
> +
> +	r = kzalloc(sizeof(struct replay_entry), GFP_KERNEL);
> +	if (!r)
> +		return -ENOMEM;
> +
> +	r->lnum = lnum;
> +	r->offs = offs;
> +	r->sqnum = sqnum;
> +	r->flags = REPLAY_REF;
> +	r->free = free;
> +	r->dirty = dirty;
> +	key_copy(c, &key, &r->key);
> +
> +	rb_link_node(&r->rb, parent, p);
> +	rb_insert_color(&r->rb, &c->replay_tree);
> +	return 0;
> +}

  reply	other threads:[~2008-05-06 22:06 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-06 10:35 [PATCH take 2] UBIFS - new flash file system Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 01/28] VFS: introduce writeback_inodes_sb() Artem Bityutskiy
2008-05-07  7:23   ` Andrew Morton
2008-05-07  8:00     ` Christoph Hellwig
2008-05-13  8:31       ` Artem Bityutskiy
2008-05-13  8:59         ` Christoph Hellwig
2008-05-13  9:22           ` Artem Bityutskiy
2008-05-07 11:14     ` Artem Bityutskiy
2008-05-07 12:01       ` Artem Bityutskiy
2008-05-07 15:38       ` Andrew Morton
2008-05-07 16:55         ` Artem Bityutskiy
2008-05-08 10:11           ` Artem Bityutskiy
2008-05-20 12:45         ` Artem Bityutskiy
2008-05-20 17:49           ` Andrew Morton
2008-05-22 10:53             ` Artem Bityutskiy
2008-05-22 11:00               ` Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 02/28] do_mounts: allow UBI root device name Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 03/28] UBIFS: add brief documentation Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 04/28] UBIFS: add I/O sub-system Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 05/28] UBIFS: add flash scanning Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 06/28] UBIFS: add journal replay Artem Bityutskiy
2008-05-06 22:05   ` Marcin Slusarz [this message]
2008-05-07  5:57     ` Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 07/28] UBIFS: add file-system build Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 08/28] UBIFS: add superblock and master node Artem Bityutskiy
2008-05-06 23:48   ` Kyungmin Park
2008-05-07  6:07     ` Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 09/28] UBIFS: add file-system recovery Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 10/28] UBIFS: add compression support Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 11/28] UBIFS: add key helpers Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 12/28] UBIFS: add the journal Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 13/28] UBIFS: add commit functionality Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 14/28] UBIFS: add TNC implementation Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 15/28] UBIFS: add TNC commit implementation Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 16/28] UBIFS: add TNC shrinker Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 17/28] UBIFS: add LEB properties Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 18/28] UBIFS: add LEB properties tree Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 19/28] " Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 20/28] UBIFS: add LEB find subsystem Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 21/28] UBIFS: add Garbage Collector Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 22/28] UBIFS: add VFS operations Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 23/28] UBIFS: add budgeting Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 24/28] UBIFS: add extended attribute support Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 25/28] UBIFS: add orphans handling sub-system Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 26/28] UBIFS: add header files Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 27/28] UBIFS: add debugging stuff Artem Bityutskiy
2008-05-06 10:35 ` [PATCH take 2 28/28] UBIFS: include FS to compilation Artem Bityutskiy
2008-05-07  8:01 ` [PATCH take 2] UBIFS - new flash file system Christoph Hellwig
2008-05-07  8:07   ` Artem Bityutskiy
2008-05-07  8:10     ` Christoph Hellwig
2008-05-07  8:11       ` Artem Bityutskiy
2008-05-07  8:32       ` Artem Bityutskiy
2008-05-07 10:31       ` Artem Bityutskiy
2008-05-16 10:40 ` Christoph Hellwig
2008-05-16 13:10   ` Adrian Hunter
2008-05-19 11:30   ` Artem Bityutskiy
2008-05-19 12:36     ` Andi Kleen
2008-05-23 15:18   ` Artem Bityutskiy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080506220315.GA6464@joi \
    --to=marcin.slusarz@gmail.com \
    --cc=Artem.Bityutskiy@nokia.com \
    --cc=ext-adrian.hunter@nokia.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.