> + } else { > +found_block: This jumping into branch is a little ugly, but given that the next patch cleans it up it is probably ok. > + /* suppress gcc maybe-used-initialised warning */ > + bests = dp->d_ops->free_bests_p(free); > - * If the freespace entry is now wrong, update it. > - */ > - bests = dp->d_ops->free_bests_p(free); /* gcc is so stupid */ So this moves bests from the common path of execution into the branch, where it duplicates one in the other branch just for later patches to move it back to almost where it was. If it isn't to painful to redo the patch I'd suggest to just keep it in the common path here. Otherwise this looks fine to me: Reviewed-by: Christoph Hellwig <hch@xxxxxx>