[gvfs] dav: try copy and delete fallback if backup couldn't be created
- From: Ondrej Holy <oholy src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] dav: try copy and delete fallback if backup couldn't be created
- Date: Wed, 19 Nov 2014 07:55:19 +0000 (UTC)
commit 7c856adf3dc29a51bd07464c4b9a00252ad8bb69
Author: Ondrej Holy <oholy redhat com>
Date: Thu Nov 13 13:38:21 2014 +0100
dav: try copy and delete fallback if backup couldn't be created
Move operation fails immediately with G_IO_ERROR_CANT_CREATE_BACKUP if
G_FILE_COPY_BACKUP is specified. Consequently copy and delete fallback
isn't executed. Return NOT_SUPPORTED instead of CANT_CREATE_BACKUP to
proceed with the fallback if G_FILE_COPY_NO_FALLBACK_FOR_MOVE isn't
specified.
https://bugzilla.gnome.org/show_bug.cgi?id=740057
daemon/gvfsbackenddav.c | 21 +++++++++++++++++----
1 files changed, 17 insertions(+), 4 deletions(-)
---
diff --git a/daemon/gvfsbackenddav.c b/daemon/gvfsbackenddav.c
index 3ace6e1..b0bc22d 100644
--- a/daemon/gvfsbackenddav.c
+++ b/daemon/gvfsbackenddav.c
@@ -2725,10 +2725,23 @@ do_move (GVfsBackend *backend,
if (flags & G_FILE_COPY_BACKUP)
{
- g_vfs_job_failed_literal (G_VFS_JOB(job),
- G_IO_ERROR,
- G_IO_ERROR_CANT_CREATE_BACKUP,
- _("Backup file creation failed"));
+ if (flags & G_FILE_COPY_NO_FALLBACK_FOR_MOVE)
+ {
+ g_vfs_job_failed_literal (G_VFS_JOB (job),
+ G_IO_ERROR,
+ G_IO_ERROR_CANT_CREATE_BACKUP,
+ _("Backups not supported"));
+ }
+ else
+ {
+ /* Return G_IO_ERROR_NOT_SUPPORTED instead of G_IO_ERROR_CANT_CREATE_BACKUP
+ * to be proceeded with copy and delete fallback (see g_file_move). */
+ g_vfs_job_failed_literal (G_VFS_JOB (job),
+ G_IO_ERROR,
+ G_IO_ERROR_NOT_SUPPORTED,
+ "Operation not supported");
+ }
+
return;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]