gfdfc: Allow transaction to be NULL on dfc_end() and dfc_complete()
dfc: Use EUCLEAN as error code when the failure is in DFC itself