]> git.eshelyaron.com Git - emacs.git/commitdiff
Some minor improvements for share handling in tramp-gvfs.el
authorMichael Albinus <michael.albinus@gmx.de>
Mon, 26 Jul 2021 18:51:57 +0000 (20:51 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Mon, 26 Jul 2021 18:51:57 +0000 (20:51 +0200)
* lisp/net/tramp-gvfs.el (tramp-gvfs-connection-mounted-p):
Set "share" connection property if the mount spec offers it.
(tramp-gvfs-handle-get-remote-uid)
(tramp-gvfs-handle-get-remote-gid): Use it.

lisp/net/tramp-cache.el
lisp/net/tramp-gvfs.el

index 579234f9f50813b5c62687887eb8429f01802227..fcfad012ec8762daa4b1b104cdbdf251e0604058 100644 (file)
@@ -72,8 +72,8 @@
 ;;   process key retrieved by `tramp-get-process' (the main connection
 ;;   process).  Other processes could reuse these properties, avoiding
 ;;   recomputation when a new asynchronous process is created by
-;;   `make-process'.  Examples are "remote-path",
-;;   "unsafe-temporary-file" or "device" (tramp-adb.el).
+;;   `make-process'.  Examples are "unsafe-temporary-file",
+;;   "remote-path", "device" (tramp-adb.el) or "share" (tramp-gvfs.el).
 
 ;;; Code:
 
index db561b4fd0c3686a8db0bfcf9096b433edc3f458..eff14a2912f4f2a71b7c4f5724a5787581ffe0a8 100644 (file)
@@ -1633,8 +1633,10 @@ If FILE-SYSTEM is non-nil, return file system attributes."
 ID-FORMAT valid values are `string' and `integer'."
   (if (equal id-format 'string)
       (tramp-file-name-user vec)
-    (when-let
-       ((localname (tramp-get-connection-property vec "default-location" nil)))
+    (when-let ((localname
+               (tramp-get-connection-property
+                (tramp-get-process vec) "share"
+                (tramp-get-connection-property vec "default-location" nil))))
       (tramp-compat-file-attribute-user-id
        (file-attributes
        (tramp-make-tramp-file-name vec localname) id-format)))))
@@ -1642,8 +1644,10 @@ ID-FORMAT valid values are `string' and `integer'."
 (defun tramp-gvfs-handle-get-remote-gid (vec id-format)
   "The gid of the remote connection VEC, in ID-FORMAT.
 ID-FORMAT valid values are `string' and `integer'."
-  (when-let
-      ((localname (tramp-get-connection-property vec "default-location" nil)))
+  (when-let ((localname
+             (tramp-get-connection-property
+              (tramp-get-process vec) "share"
+              (tramp-get-connection-property vec "default-location" nil))))
     (tramp-compat-file-attribute-group-id
      (file-attributes
       (tramp-make-tramp-file-name vec localname) id-format))))
@@ -1997,6 +2001,9 @@ a downcased host name only."
           (tramp-set-file-property vec "/" "fuse-mountpoint" fuse-mountpoint)
           (tramp-set-connection-property
            vec "default-location" default-location)
+          (when share
+            (tramp-set-connection-property
+             (tramp-get-process vec) "share" (concat "/" share)))
           (throw 'mounted t)))))))
 
 (defun tramp-gvfs-unmount (vec)