Thread (2 messages) 2 messages, 2 authors, 2012-05-10

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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help