From 58f5e36da76277bfc7fb4d87293be60ef6e0cbc1 Mon Sep 17 00:00:00 2001
From: Lin Ma <lma@suse.com>
Date: Tue, 16 Aug 2022 12:59:36 +0800
Subject: [PATCH] fsdetails: Fix an error with source.socket of virtiofs

Using the source.socket of virtiofs needs a virtiofsd daemon launched
outside of libvirtd, So the filesystem UI doesn't support it yet. If
users need it they can set it manually in the XML editor.
But if we view the filesystem info of such a VM on the details page,
It fails with this error message:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/details/details.py", line 1713, in _refresh_page
    self._refresh_filesystem_page(dev)
  File "/usr/share/virt-manager/virtManager/details/details.py", line 2241, in _refresh_filesystem_page
    self.fsDetails.set_dev(dev)
  File "/usr/share/virt-manager/virtManager/device/fsdetails.py", line 193, in set_dev
    self.widget("fs-source").set_text(dev.source)
TypeError: Argument 1 does not allow None as a value

This patch fixes above issue by leaving the 'source path' info blank in
case of source.socket.
In this case, Considering that showing 'target path' info without source
info is kind of meaningless, So this patch leaves the 'target path' info
blank as well.

Signed-off-by: Lin Ma <lma@suse.com>
---
 virtManager/device/fsdetails.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/virtManager/device/fsdetails.py b/virtManager/device/fsdetails.py
index 40868d1c..b9956e1d 100644
--- a/virtManager/device/fsdetails.py
+++ b/virtManager/device/fsdetails.py
@@ -190,7 +190,7 @@ class vmmFSDetails(vmmGObjectUI):
                 self.widget("fs-format-combo"), dev.driver_format)
 
         if dev.type != DeviceFilesystem.TYPE_RAM:
-            self.widget("fs-source").set_text(dev.source)
+            self.widget("fs-source").set_text(dev.source or "")
         else:
             self.widget("fs-ram-source-spin").set_value(int(dev.source) // 1024)
         self.widget("fs-target").set_text(dev.target or "")
-- 
2.37.2.windows.2

