Fix du entries. Need to store all parent entries as well.
authorMichael Andres <ma@suse.de>
Wed, 12 Sep 2007 15:17:53 +0000 (15:17 +0000)
committerMichael Andres <ma@suse.de>
Wed, 12 Sep 2007 15:17:53 +0000 (15:17 +0000)
zypp/repo/cached/PackageImpl.cc
zypp/repo/cached/SrcPackageImpl.cc

index 1b334a7..50ac32f 100644 (file)
@@ -201,13 +201,15 @@ const DiskUsage & PackageImpl::diskusage() const
     {
       // No info: Creating a faked entry distributing the
       // total package size in assumed 200 files to "/ZYPP_NO_DU_INFO"
-      // The reported size is in kB.
+      // The reported size are 1K blocks.
       //
       // Note: Less likely that some system has a mountpoint named
       // ZYPP_NO_DU_INFO, so the size will be accounted to '/'.
       // but adding a faked mountpoint entry an application is able
       // to spot and handle these faked data in a different manner.
-      _diskusage->add( "/ZYPP_NO_DU_INFO", size() / 1024, 200 );
+      unsigned dusize = size().blocks( ByteCount::K );
+      _diskusage->add( "/",                 dusize, 200 );
+      _diskusage->add( "/ZYPP_NO_DU_INFO/", dusize, 200 );
     }
   }
   return *_diskusage;
index 5f9e6c2..4b74ab7 100644 (file)
@@ -122,8 +122,12 @@ const DiskUsage & SrcPackageImpl::diskusage() const
     {
       // No info: Creating a faked entry distributing the
       // total source package size in assumed 20 files to "/usr/src/packages"
-      // The reported size is in kB
-      _diskusage->add( "/usr/src/packages", size() / 1024, 20 );
+      // The reported size are 1K blocks.
+      unsigned dusize = size().blocks( ByteCount::K );
+      _diskusage->add( "/",                  dusize, 20 );
+      _diskusage->add( "/usr/",              dusize, 20 );
+      _diskusage->add( "/usr/src/",          dusize, 20 );
+      _diskusage->add( "/usr/src/packages/", dusize, 20 );
     }
   }
   return *_diskusage;