D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns added a comment. Herald added a subscriber: kde-frameworks-devel. Ping! REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns, #frameworks Cc: kde-frameworks-devel, broulik, #frameworks, michaelh, ngraham, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns marked an inline comment as done. REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns, #frameworks Cc: broulik, #frameworks, michaelh, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns added a reviewer: Frameworks. REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns, #frameworks Cc: broulik, #frameworks, michaelh, ngraham, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns added inline comments. INLINE COMMENTS > broulik wrote in udisksdevicebackend.cpp:147 > So when size is unknown it will always query it as you will never have a Size > in the `m_propertyCache`? It uses the one from the Partition or Block Interface, see last paragraph from the Summary. It restores the behaviour from UD2 <= 2.7.5, which did not have this property. For most cases, this is correct, but it //might// be wrong when using e.g. the BTRFS-internal Raid implementation. REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns Cc: broulik, #frameworks, michaelh, ngraham, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
broulik added inline comments. INLINE COMMENTS > udisksdevicebackend.cpp:147 > +if (size.isValid() && size.toInt() != 0) { > +m_propertyCache.insert(QStringLiteral("Size"), size); > +} So when size is unknown it will always query it as you will never have a Size in the `m_propertyCache`? REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns Cc: broulik, #frameworks, michaelh, ngraham, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns added a dependency: D12124: Avoid creating duplicate property entries in the cache. REPOSITORY R245 Solid REVISION DETAIL https://phabricator.kde.org/D12125 To: bruns Cc: #frameworks, michaelh, ngraham, bruns
D12125: Avoid inserting an invalid "Size" property from the Filesystem interface
bruns created this revision. Restricted Application added a project: Frameworks. Restricted Application added a subscriber: Frameworks. bruns requested review of this revision. REVISION SUMMARY UDisks2 added a "Size" property for the Filesystem interface, which may be zero, denoting an unknown value: http://storaged.org/doc/udisks2-api/2.7.6/gdbus-org.freedesktop.UDisks2.Filesystem.html #gdbus-property-org-freedesktop-UDisks2-Filesystem.Size For e.g. Ext4, the property matches the Size from Partition and Block, while for FAT and BTRFS 0 is returned. TEST PLAN make solid-hardware5 list details REPOSITORY R245 Solid BRANCH invalid_fs_size REVISION DETAIL https://phabricator.kde.org/D12125 AFFECTED FILES src/solid/devices/backends/udisks2/udisksdevicebackend.cpp To: bruns Cc: #frameworks, michaelh, ngraham, bruns