getPhysicalDir doesn't work if it doesn't already exist.