From 968b605460eb4912bdb0b7bc9ace79694865386f Mon Sep 17 00:00:00 2001 From: Jens Axboe Date: Mon, 21 Jun 2010 09:01:33 +0200 Subject: [PATCH 1/1] Fix a bug with multiple files in the same io_piece rbtree Sort by file first, then sort by offset. This avoids false positives on IO aliases, when it's really for a different file. Signed-off-by: Jens Axboe --- log.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/log.c b/log.c index 6a99c661..5fc8f64b 100644 --- a/log.c +++ b/log.c @@ -219,7 +219,11 @@ restart: parent = *p; __ipo = rb_entry(parent, struct io_piece, rb_node); - if (ipo->offset < __ipo->offset) + if (ipo->file < __ipo->file) + p = &(*p)->rb_left; + else if (ipo->file > __ipo->file) + p = &(*p)->rb_right; + else if (ipo->offset < __ipo->offset) p = &(*p)->rb_left; else if (ipo->offset > __ipo->offset) p = &(*p)->rb_right; -- 2.25.1