struct extent_map *entry;
        struct extent_map *prev_entry = NULL;
 
+       ASSERT(prev_ret);
+       ASSERT(next_ret);
+
        while (n) {
                entry = rb_entry(n, struct extent_map, rb_node);
                prev = n;
                        return n;
        }
 
-       if (prev_ret) {
-               orig_prev = prev;
-               while (prev && offset >= extent_map_end(prev_entry)) {
-                       prev = rb_next(prev);
-                       prev_entry = rb_entry(prev, struct extent_map, rb_node);
-               }
-               *prev_ret = prev;
-               prev = orig_prev;
+       orig_prev = prev;
+       while (prev && offset >= extent_map_end(prev_entry)) {
+               prev = rb_next(prev);
+               prev_entry = rb_entry(prev, struct extent_map, rb_node);
        }
+       *prev_ret = prev;
+       prev = orig_prev;
 
-       if (next_ret) {
+       prev_entry = rb_entry(prev, struct extent_map, rb_node);
+       while (prev && offset < prev_entry->start) {
+               prev = rb_prev(prev);
                prev_entry = rb_entry(prev, struct extent_map, rb_node);
-               while (prev && offset < prev_entry->start) {
-                       prev = rb_prev(prev);
-                       prev_entry = rb_entry(prev, struct extent_map, rb_node);
-               }
-               *next_ret = prev;
        }
+       *next_ret = prev;
+
        return NULL;
 }