[gvfs] smb: Report proper error on do_query_fs_info()
- From: Tomas Bzatek <tbzatek src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gvfs] smb: Report proper error on do_query_fs_info()
- Date: Mon, 3 Dec 2012 14:48:14 +0000 (UTC)
commit cf7f98995591f6c992467337469df41756c76b04
Author: Tomas Bzatek <tbzatek redhat com>
Date: Mon Dec 3 15:46:01 2012 +0100
smb: Report proper error on do_query_fs_info()
We always reported success despite storing the smb call result.
https://bugzilla.gnome.org/show_bug.cgi?id=687778
daemon/gvfsbackendsmb.c | 8 +++++++-
1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/daemon/gvfsbackendsmb.c b/daemon/gvfsbackendsmb.c
index abdab9c..f69bc1b 100644
--- a/daemon/gvfsbackendsmb.c
+++ b/daemon/gvfsbackendsmb.c
@@ -1633,7 +1633,7 @@ do_query_fs_info (GVfsBackend *backend,
smbc_statvfs_fn smbc_statvfs;
struct statvfs st = {0};
char *uri;
- int res;
+ int res, saved_errno;
if (g_file_attribute_matcher_matches (attribute_matcher,
G_FILE_ATTRIBUTE_FILESYSTEM_SIZE) ||
@@ -1645,6 +1645,7 @@ do_query_fs_info (GVfsBackend *backend,
uri = create_smb_uri (op_backend->server, op_backend->share, filename);
smbc_statvfs = smbc_getFunctionStatVFS (op_backend->smb_context);
res = smbc_statvfs (op_backend->smb_context, uri, &st);
+ saved_errno = errno;
g_free (uri);
if (res == 0)
@@ -1661,6 +1662,11 @@ do_query_fs_info (GVfsBackend *backend,
g_file_info_set_attribute_boolean (info, G_FILE_ATTRIBUTE_FILESYSTEM_READONLY, st.f_flag & SMBC_VFS_FEATURE_RDONLY);
}
}
+ else
+ {
+ g_vfs_job_failed_from_errno (G_VFS_JOB (job), saved_errno);
+ return;
+ }
}
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]