blob: do not hold lock for all fsync's duration

This should remove random stalls on write heavy workloads with
b->cfg.sync

It's worth noting that with b->cfg.sync == 0 eblob starts using
fsync(2)/fdatasync(2) in many places on write path, so config with
reasonable b->cfg.sync is preferred for workloads where write
speed/latency is more concern than data safety.