Re: [qubes-users] Trying my luck

2023-05-30 Thread Qubes

Ulrich Windl (Google) wrote:
Just wondering: Is the remote end Windows, and could some virus scanner block 
the rename request? You know Windows has kind of strange locking rules.


No the SMB server is running on OmniOS which is Illumos kernel.

--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/c50703f7-a6ae-b659-a618-cbb5ccdf905e%40ak47.co.za.


Re: [qubes-users] Trying my luck

2023-05-30 Thread Ulrich Windl (Google)
Just wondering: Is the remote end Windows, and could some virus scanner block 
the rename request? You know Windows has kind of strange locking rules.

-- 
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/d2959f54-3bc9-4ee1-babf-d3217719530f%40gmail.com.


Re: [qubes-users] Trying my luck

2023-05-29 Thread Qubes

Qubes wrote:

Qubes wrote:
I am just trying my luck here with an issue that i have been unable to 
resolve on my Qubes system for a long time now. I have been looking 
into this problem quite a bit but i cannot seem to find a solution 
anywhere. Perhaps someone on this list has experienced the same and 
has found a solution.


When i open a text file that is located on a network share with gedit, 
gedit is unable to save the file. When I click the save button, or 
`Ctrl + s`, i can see gedit creates a temporary file named 
".goutputstream-AO9U51" on the network share and in gedit i get a 
message "Could not create a backup file while saving 
"/home/user/data/test/file-name.txt"". If i launch gedit from cli i 
see a message on cli when saving the file "Hit unhandled case 27 
(Error renaming temporary file: Resource temporarily unavailable) in 
parse_error."


I definitely have permissions on the network share as i can copy files 
to it, delete, create directories, etc. I can also open a LibreOffice 
document and save it. The problem appears to be specific to gedit. 
Also, it happens with both a Fedora and Debian based VM.


In addition that i forgot to mention is, i can open edit and save the 
same txt files with vi and it works.


I have read reports [1][2][3][4][6] dating as far back as 12 years with 
the sshfs protocol (an abandoned project) being implicated as well.


On issue 438 [3] that was reported on Gitlab it is reported that "As far 
as I can tell, the problem is in the way glib saves a file by writing to 
a temporary file and renaming to the final name." and "I'll take a more 
serious look later but I'd start with gio/glocalfileoutputstream.c and 
particularly the function _g_local_file_output_stream_really_close which 
contains the error string "Error renaming temporary file".".


A duplicate issue 565 [5] to issue 438 [3] was opened and there a patch 
is provided that is said to fix this issue although i have not tried it 
because i don't know how to.


**Question:** Would anybody perhaps know how and where to do the patch, 
attached for reference, on Fedora/Debian. As far as I can tell the patch 
needs to be done on the client since the problem originates from the client.


[1]: 
https://askubuntu.com/questions/13843/gedit-sshfs-wont-save-vi-saves-fine
[2]: 
https://unix.stackexchange.com/questions/52951/gedit-wont-save-a-file-on-a-virtualbox-share-text-file-busy

[3]: https://gitlab.gnome.org/GNOME/glib/-/issues/438
[4]: https://github.com/rclone/rclone/issues/2130
[5]: https://gitlab.gnome.org/GNOME/glib/-/issues/565
[6]: 
https://illumos.topicbox.com/groups/omnios-discuss/Tc4c6b72d6386f9fb/resource-temporarily-unavailable-when-saving-to-cifs-share-on-r151038


--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/41c6de8b-c200-0178-9cd9-c06809f94bfa%40ak47.co.za.
From 179812d0847af191e709539041a57d5779d847ed Mon Sep 17 00:00:00 2001
From: TW 
Date: Wed, 27 Jun 2012 19:35:33 +0200
Subject: [PATCH] gio: workaround for renaming files on filesystems not
 supporting it

This is a workaround for samba and "Virtual Box shared" filesystem which does not support renaming opened files and react on such attempt with ETXTBSY. It is also a solution proposal for:

Bug 678994 - Unable to overwrite files on vbox shared mounted filesystems
---
 gio/glocalfileoutputstream.c | 90 +++-
 1 file changed, 63 insertions(+), 27 deletions(-)

diff --git a/gio/glocalfileoutputstream.c b/gio/glocalfileoutputstream.c
index a310fcd..60e5f43 100644
--- a/gio/glocalfileoutputstream.c
+++ b/gio/glocalfileoutputstream.c
@@ -223,6 +223,7 @@ _g_local_file_output_stream_really_close (GLocalFileOutputStream *file,
 {
   GLocalFileStat final_stat;
   int res;
+  int smb_cifs_rename_workaround = 0;
 
 #ifdef HAVE_FSYNC
   if (file->priv->sync_on_close &&
@@ -318,17 +319,44 @@ _g_local_file_output_stream_really_close (GLocalFileOutputStream *file,
   if (g_cancellable_set_error_if_cancelled (cancellable, error))
 	goto err_out;
 
-  /* tmp -> original */
-  if (g_rename (file->priv->tmp_filename, file->priv->original_filename) != 0)
-	{
-  int errsv = errno;
 
-	  g_set_error (error, G_IO_ERROR,
-		   g_io_error_from_errno (errsv),
-		   _("Error renaming temporary file: %s"),
-		   g_strerror (errsv));
-	  goto err_out;
-	}
+  res = g_rename (file->priv->tmp_filename, file->priv->original_filename);
+
+  /* tmp -> original */
+  if (res != 0 && errno == ETXTBSY)
+  {
+	  // try to close the fd first and retry renaming
+	  if (fstat (file->priv->fd, _stat) == 0)
+		  file->priv->etag = _g_local_file_info_create_etag (_stat);
+
+	  while (1)
+	  {
+		  res = close 

Re: [qubes-users] Trying my luck

2023-05-29 Thread Qubes

Qubes wrote:
I am just trying my luck here with an issue that i have been unable to 
resolve on my Qubes system for a long time now. I have been looking into 
this problem quite a bit but i cannot seem to find a solution anywhere. 
Perhaps someone on this list has experienced the same and has found a 
solution.


When i open a text file that is located on a network share with gedit, 
gedit is unable to save the file. When I click the save button, or `Ctrl 
+ s`, i can see gedit creates a temporary file named 
".goutputstream-AO9U51" on the network share and in gedit i get a 
message "Could not create a backup file while saving 
"/home/user/data/test/file-name.txt"". If i launch gedit from cli i see 
a message on cli when saving the file "Hit unhandled case 27 (Error 
renaming temporary file: Resource temporarily unavailable) in parse_error."


I definitely have permissions on the network share as i can copy files 
to it, delete, create directories, etc. I can also open a LibreOffice 
document and save it. The problem appears to be specific to gedit. Also, 
it happens with both a Fedora and Debian based VM.


In addition that i forgot to mention is, i can open edit and save the 
same txt files with vi and it works.


--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/55f71abc-061c-b3a5-c94a-f909aeaa3416%40ak47.co.za.


[qubes-users] Trying my luck

2023-05-29 Thread Qubes
I am just trying my luck here with an issue that i have been unable to 
resolve on my Qubes system for a long time now. I have been looking into 
this problem quite a bit but i cannot seem to find a solution anywhere. 
Perhaps someone on this list has experienced the same and has found a 
solution.


When i open a text file that is located on a network share with gedit, 
gedit is unable to save the file. When I click the save button, or `Ctrl 
+ s`, i can see gedit creates a temporary file named 
".goutputstream-AO9U51" on the network share and in gedit i get a 
message "Could not create a backup file while saving 
"/home/user/data/test/file-name.txt"". If i launch gedit from cli i see 
a message on cli when saving the file "Hit unhandled case 27 (Error 
renaming temporary file: Resource temporarily unavailable) in parse_error."


I definitely have permissions on the network share as i can copy files 
to it, delete, create directories, etc. I can also open a LibreOffice 
document and save it. The problem appears to be specific to gedit. Also, 
it happens with both a Fedora and Debian based VM.


--
You received this message because you are subscribed to the Google Groups 
"qubes-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to qubes-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/qubes-users/768240c6-a0f9-387c-3d4d-67847e4dec4e%40ak47.co.za.