diff --git a/drivers/FileSR.py b/drivers/FileSR.py index 845f7609..f9b5c02d 100755 --- a/drivers/FileSR.py +++ b/drivers/FileSR.py @@ -803,7 +803,10 @@ def _snapshot(self, snap_type, cbtlog=None, cbt_consistency=None): "FileSR_fail_snap1", self.__fist_enospace) util.ioretry(lambda: self._snap(tmpsrc, newsrcname)) - self._rename(tmpsrc, src) + # SMB3 can return EACCES if we attempt to rename over the + # hardlink leaf too quickly after creating it. + util.ioretry(lambda: self._rename(tmpsrc, src), + errlist=[errno.EIO, errno.EACCES]) if snap_type == VDI.SNAPSHOT_DOUBLE: # Fault injection site to fail the snapshot with ENOSPACE util.fistpoint.activate_custom_fn(