What are the properties of this _lookup() that make it faster than the existing one? I see in the next patch that you say lfn_generate_object_name() is the main CPU consumer — could we not just make that more efficient and use the existing function?
BTW, your patches are out of order here; you're calling overloaded functions that don't exist yet.