[Bug 796971] filesink: Implement workaround for some (network) filesystems that spuriously return EACCES on write
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Thu Aug 16 09:10:20 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=796971
--- Comment #1 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Created attachment 373355
--> https://bugzilla.gnome.org/attachment.cgi?id=373355&action=edit
filesink: Implement workaround for some (network) filesystems that spuriously
return EACCES on write
This seems to happen when another client is accessing the file at the
same time, and retrying after a short amount of time solves it.
Sometimes partial data is written at that point already but we have no
idea how much it is, or if what was written is correct (it sometimes
isn't) so we always first seek back to the current position and repeat
the whole failed write.
Between write attempts that failed with EACCES we wait 10ms, and after
1000 (10s) consecutive tries that failed with EACCES we simply give up.
In theory a valid EACCES for files to which we simply have no access
should've happened already during the call to open(), except for NFS
(see open(2)).
This can be enabled with the new retry-on-eacces boolean property, and
a new o-sync boolean property was added to open the file in O_SYNC mode
as without that it's not guaranteed that we get EACCES for the actual
writev() call that failed but might only get it at a later time.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list