[gvfs] mtp: Remove fail-during-unmount workaround



commit 0dedf40fec26e793692d8e4d2911a157ba7203a4
Author: Ross Lagerwall <rosslagerwall gmail com>
Date:   Sun Sep 28 19:59:16 2014 +0100

    mtp: Remove fail-during-unmount workaround
    
    Since jobs should now fail properly when an unmount is in progress,
    remove the mtp backend-specific implementation.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710986

 daemon/gvfsbackendmtp.c |   49 -----------------------------------------------
 1 files changed, 0 insertions(+), 49 deletions(-)
---
diff --git a/daemon/gvfsbackendmtp.c b/daemon/gvfsbackendmtp.c
index 9f1d84d..63a213b 100644
--- a/daemon/gvfsbackendmtp.c
+++ b/daemon/gvfsbackendmtp.c
@@ -371,18 +371,6 @@ remove_cache_entry_by_id (GVfsBackendMtp *backend,
 }
 
 
-#define FAIL_DURING_UNMOUNT() \
-  if (g_atomic_int_get (&G_VFS_BACKEND_MTP(backend)->unmount_started)) { \
-    DEBUG ("(I) aborting due to unmount\n"); \
-    g_vfs_job_failed_literal (G_VFS_JOB (job), \
-                              G_IO_ERROR, G_IO_ERROR_CLOSED, \
-                              _("The connection is closed")); \
-    goto exit; \
-  }
-
-
-
-
 /************************************************
  * Initialization
  ************************************************/
@@ -1273,8 +1261,6 @@ do_enumerate (GVfsBackend *backend,
 
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   LIBMTP_mtpdevice_t *device;
   device = op_backend->device;
 
@@ -1371,8 +1357,6 @@ do_query_info (GVfsBackend *backend,
   LIBMTP_mtpdevice_t *device;
   device = G_VFS_BACKEND_MTP (backend)->device;
 
-  FAIL_DURING_UNMOUNT();
-
   if (ne == 2 && elements[1][0] == '\0') {
     get_device_info (G_VFS_BACKEND_MTP (backend), info);
   } else if (ne < 3) {
@@ -1452,8 +1436,6 @@ do_query_fs_info (GVfsBackend *backend,
   gchar **elements = g_strsplit_set (filename, "/", -1);
   unsigned int ne = g_strv_length (elements);
 
-  FAIL_DURING_UNMOUNT();
-
   LIBMTP_mtpdevice_t *device;
   device = G_VFS_BACKEND_MTP (backend)->device;
 
@@ -1480,7 +1462,6 @@ do_query_fs_info (GVfsBackend *backend,
 
   g_vfs_job_succeeded (G_VFS_JOB (job));
 
- exit:
   g_strfreev (elements);
   g_mutex_unlock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
@@ -1525,8 +1506,6 @@ do_make_directory (GVfsBackend *backend,
   gchar **elements = g_strsplit_set (filename, "/", -1);
   unsigned int ne = g_strv_length (elements);
 
-  FAIL_DURING_UNMOUNT();
-
   if (ne < 3) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
                               G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
@@ -1590,8 +1569,6 @@ do_pull (GVfsBackend *backend,
   GFileInfo *local_info = NULL;
   GFileInfo *info = NULL;
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), source);
   if (entry == NULL) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
@@ -1740,8 +1717,6 @@ do_push (GVfsBackend *backend,
   gchar **elements = g_strsplit_set (destination, "/", -1);
   unsigned int ne = g_strv_length (elements);
 
-  FAIL_DURING_UNMOUNT();
-
   if (ne < 3) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
                               G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
@@ -1895,8 +1870,6 @@ do_delete (GVfsBackend *backend,
   DEBUG ("(I) do_delete (filename = %s)\n", filename);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), filename);
   if (entry == NULL) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
@@ -1942,8 +1915,6 @@ do_set_display_name (GVfsBackend *backend,
   DEBUG ("(I) do_set_display_name '%s' --> '%s'\n", filename, display_name);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), filename);
   if (entry == NULL) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
@@ -2011,8 +1982,6 @@ do_open_for_read (GVfsBackend *backend,
   DEBUG ("(I) do_open_for_read (%s)\n", filename);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), filename);
   if (entry == NULL) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
@@ -2072,8 +2041,6 @@ do_open_icon_for_read (GVfsBackend *backend,
   DEBUG ("(I) do_open_icon_for_read (%s)\n", icon_id);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   guint id = strtol (icon_id, NULL, 16);
 
   if (id > 0) {
@@ -2159,8 +2126,6 @@ do_seek_on_read (GVfsBackend *backend,
   DEBUG ("(I) do_seek_on_read (%X %lu %ld %u)\n", id, old_offset, offset, type);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   if (type == G_SEEK_END) {
     offset = size + offset;
   } else if (type == G_SEEK_CUR) {
@@ -2198,8 +2163,6 @@ do_read (GVfsBackend *backend,
   DEBUG ("(I) do_read (%X %lu %lu)\n", id, offset, bytes_requested);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   uint32_t actual;
   if (handle->handle_type == HANDLE_FILE) {
 #if HAVE_LIBMTP_1_1_6
@@ -2283,8 +2246,6 @@ do_create (GVfsBackend *backend,
   gchar **elements = g_strsplit_set (filename, "/", -1);
   unsigned int ne = g_strv_length (elements);
 
-  FAIL_DURING_UNMOUNT();
-
   if (ne < 3) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
                               G_IO_ERROR, G_IO_ERROR_PERMISSION_DENIED,
@@ -2367,8 +2328,6 @@ do_append_to (GVfsBackend *backend,
   DEBUG ("(I) do_append_to (%s)\n", filename);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), filename);
   if (entry == NULL) {
     g_vfs_job_failed_literal (G_VFS_JOB (job),
@@ -2437,8 +2396,6 @@ do_replace (GVfsBackend *backend,
   DEBUG ("(I) do_replace (%s)\n", filename);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   CacheEntry *entry = get_cache_entry (G_VFS_BACKEND_MTP (backend), filename);
   if (entry == NULL) {
     g_mutex_unlock (&G_VFS_BACKEND_MTP (backend)->mutex);
@@ -2508,8 +2465,6 @@ do_write (GVfsBackend *backend,
   DEBUG ("(I) do_write (%X %lu %lu)\n", id, offset, buffer_size);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   int ret = LIBMTP_SendPartialObject (G_VFS_BACKEND_MTP (backend)->device, id, offset,
                                       (unsigned char *)buffer, buffer_size);
   if (ret != 0) {
@@ -2543,8 +2498,6 @@ do_seek_on_write (GVfsBackend *backend,
   DEBUG ("(I) do_seek_on_write (%X %lu %ld %u)\n", id, old_offset, offset, type);
   g_mutex_lock (&G_VFS_BACKEND_MTP (backend)->mutex);
 
-  FAIL_DURING_UNMOUNT();
-
   if (type == G_SEEK_END) {
     offset = size + offset;
   } else if (type == G_SEEK_CUR) {
@@ -2603,8 +2556,6 @@ do_close_write (GVfsBackend *backend,
 
   RWHandle *handle = opaque_handle;
 
-  FAIL_DURING_UNMOUNT();
-
   int ret = LIBMTP_EndEditObject (G_VFS_BACKEND_MTP (backend)->device, handle->id);
   if (ret != 0) {
     fail_job (G_VFS_JOB (job), G_VFS_BACKEND_MTP (backend)->device);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]