>> On Thu, Apr 14, 2016 at 5:53 PM, Seth Jennings <sjenn...@redhat.com> wrote:

<snip>
>>> This also means that the unbuddied list is broken in this
>>> implementation.  num_free_chunks() is calculating the _total_ free
>>> space in the page.  But that is not that the _usable_ free space by a
>>> single object, if the middle object has partitioned that free space.
>>
>> Once again, there is the code in z3fold_free() that makes sure the
>> free space within the page is contiguous so I don't think the
>> unbuddied list is, or will be, broken.
>
> Didn't see the relocation before.  However, that brings up another
> question.  How is the code moving objects when the location of that
> object is encoded in the handle that has already been given to the
> user?

Relocation is only necessary when there is one remaining object and it
is in the middle. In that case the 'first_num' variable is incremented
so its handle already given to user will be resolved as the first
object and not the middle.

~vitaly

Reply via email to