engines/nvme: fix 'fd' leak in error handling