summaryrefslogtreecommitdiff
path: root/client/gvfsfusedaemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/gvfsfusedaemon.c')
-rw-r--r--client/gvfsfusedaemon.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/client/gvfsfusedaemon.c b/client/gvfsfusedaemon.c
index 47f4e4c6..e2038504 100644
--- a/client/gvfsfusedaemon.c
+++ b/client/gvfsfusedaemon.c
@@ -1363,6 +1363,14 @@ vfs_read (const gchar *path, gchar *buf, size_t size,
if (result == 0)
{
result = read_stream (fh, buf, size, offset);
+
+ if (result == -ENOTSUP && offset < fh->pos)
+ {
+ file_handle_close_stream (fh);
+ result = setup_input_stream (file, fh);
+ if (result == 0)
+ result = read_stream (fh, buf, size, offset);
+ }
}
else
{