Skip to content
Snippets Groups Projects
Commit 21a95f43 authored by Howard Chu's avatar Howard Chu
Browse files

ITS#2348 - revert previous patch, use patch from ITS

parent c2fd1b8a
No related branches found
No related tags found
No related merge requests found
......@@ -553,19 +553,13 @@ idl_insert_key(
#ifndef USE_INDIRECT_NIDS
/* select the block to try inserting into *//* XXX linear search XXX */
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id > ID_BLOCK_ID(idl, i); i++ )
for ( i = 0; !ID_BLOCK_NOID(idl, i) && id >= ID_BLOCK_ID(idl, i); i++ )
; /* NULL */
#else
i = idl_find(idl, id);
if (ID_BLOCK_ID(idl, i) < id)
if (ID_BLOCK_ID(idl, i) <= id)
i++;
#endif
/* The ID already exists in the IDL, no insert needed */
if (ID_BLOCK_ID(idl, i) == id) {
idl_free( idl );
return 0;
}
if ( i != 0 ) {
i--;
first = 0;
......@@ -573,6 +567,11 @@ idl_insert_key(
first = 1;
}
/* At this point, the following condition must be true:
* ID_BLOCK_ID(idl, i) <= id && id < ID_BLOCK_ID(idl, i+1)
* except when i is the first or the last block.
*/
/* get the block */
cont_alloc( &k2, &key );
cont_id( &k2, ID_BLOCK_ID(idl, i) );
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment