static void adjust_parent_sep(struct cursor *cursor, int level, __be64 newsep) { if(DEBUG_MODE_K==1) { printf("\t\t\t\t%25s[K] %25s %4d #in\n",__FILE__,__func__,__LINE__); } /* Update separating key until nearest common parent */ while (level >= 0) { struct path_level *parent_at = &cursor->path[level]; struct index_entry *parent = parent_at->next - 1; assert(0 < be64_to_cpu(parent->key)); assert(be64_to_cpu(parent->key) < be64_to_cpu(newsep)); log_bnode_adjust(cursor->btree->sb, bufindex(parent_at->buffer), be64_to_cpu(parent->key), be64_to_cpu(newsep)); parent->key = newsep; mark_buffer_unify_non(parent_at->buffer); if (parent != level_node(cursor, level)->entries) break; level--; } }
static void adjust_parent_sep(struct cursor *cursor, int level, __be64 newsep) { /* Update separating key until nearest common parent */ while (level >= 0) { struct path_level *parent_at = &cursor->path[level]; struct index_entry *parent = parent_at->next - 1; assert(0 < be64_to_cpu(parent->key)); assert(be64_to_cpu(parent->key) < be64_to_cpu(newsep)); log_bnode_adjust(cursor->btree->sb, bufindex(parent_at->buffer), be64_to_cpu(parent->key), be64_to_cpu(newsep)); parent->key = newsep; mark_buffer_rollup_non(parent_at->buffer); if (parent != level_node(cursor, level)->entries) break; level--; } }