bruns added a comment.

  In D13869#286746 <https://phabricator.kde.org/D13869#286746>, @broulik wrote:
  
  > Sure, but the device isn't "removed", so emitting a remove signal for 
something that is still there, is wrong, isn't it? Perhaps we could signal a 
removal if the device lost *all* its interfaces? But it probably doesn't in the 
unmount case.
  
  
  a valid device/dbus object has at least the `org.freedesktop.DBus.Properties` 
interface, so this signal is already emitted when the device is removed (== 
last interface removed).
  
  I think the code needs some overhauling - AFAIK it was written when UDisks2 
had a much more simplistic interface. The whole properties cache is quite 
broken ("something has changed - throw away the cache - fetch everything again" 
, "we don't know the property - lets fetch it again"), we are doing to many 
roundtrips.
  
  The list of properties is announced in the DBus introspection data for each 
interface. There is no need for the "negative" cache. We are mixing properties 
from different interfaces (e.g. size, a filesystem size may differ from the 
partition size).
  
  While the intention of the patch is right, I don't think its the right way to 
do it. I would favor a solution which signals changes in the `Predicate` 
matches. This is definitely more work, but otherwise we are papering over one 
issue after the other.

REPOSITORY
  R245 Solid

REVISION DETAIL
  https://phabricator.kde.org/D13869

To: anthonyfieroni, broulik, cfeck, dfaure
Cc: bruns, kde-frameworks-devel, michaelh, ngraham

Reply via email to