Re: [Bcache v13 11/16] bcache: Core btree code
From: Kent Overstreet <hidden>
Date: 2012-05-10 21:48:52
Also in:
dm-devel, lkml
I don't feel strongly one way or the other about it, but I do think it's more just a matter of taste - the if (0) is ugly, I'll certainly grant you that but IMO it makes the weird control flow harder to miss, and the indentation more or less matches the control flow. But I haven't come up with a way of writing that I actually like, I dislike them all almost equally. On Thu, May 10, 2012 at 11:49 AM, Joe Perches [off-list ref] wrote:
On Wed, 2012-05-09 at 23:10 -0400, Kent Overstreet wrote:quoted
Signed-off-by: Kent Overstreet <redacted>[]quoted
+ +void btree_read_done(struct closure *cl) +{[]quoted
+ if (b->written < btree_blocks(b)) + bset_init_next(b); + + if (0) { +err: set_btree_node_io_error(b); + cache_set_error(b->c, "%s at bucket %lu, block %zu, %u keys", + err, PTR_BUCKET_NR(b->c, &b->key, 0), + index(i, b), i->keys); + }Hi Kent trivia: This if (0) is an exceedingly ugly style. I'd much prefer: if (foo) bar(); goto exit; err: set_btree_node_io_error(b); cache_set_error(b->c, "%s at bucket %lu, block %zu, %u keys", err, PTR_BUCKET_NR(b->c, &b->key, 0), index(i, b), i->keys); exit: etc...