diff --git a/meta/classes/buildstats-utils.bbclass b/meta/classes/buildstats-utils.bbclass
new file mode 100644
index 00000000..712674d0
--- /dev/null
+++ b/meta/classes/buildstats-utils.bbclass
@@ -0,0 +1,4 @@
+def buildstats_disk_usage(path):
+    import subprocess
+    return subprocess.check_output(["du", "-shx", path],
+                   stderr=subprocess.STDOUT).decode('utf-8')
diff --git a/meta/classes/buildstats.bbclass b/meta/classes/buildstats.bbclass
index 0de60520..1cade568 100644
--- a/meta/classes/buildstats.bbclass
+++ b/meta/classes/buildstats.bbclass
@@ -8,6 +8,8 @@ BUILDSTATS_BASE = "${TMPDIR}/buildstats/"
 #
 ################################################################################
 
+inherit buildstats-utils
+
 def get_buildprocess_cputime(pid):
     with open("/proc/%d/stat" % pid, "r") as f:
         fields = f.readline().rstrip().split()
@@ -244,8 +246,7 @@ python run_buildstats () {
                 rootfs = d.getVar('IMAGE_ROOTFS')
                 if os.path.isdir(rootfs):
                     try:
-                        rootfs_size = subprocess.check_output(["du", "-sh", rootfs],
-                                stderr=subprocess.STDOUT).decode('utf-8')
+                        rootfs_size = buildstats_disk_usage(rootfs)
                         f.write("Uncompressed Rootfs size: %s" % rootfs_size)
                     except subprocess.CalledProcessError as err:
                         bb.warn("Failed to get rootfs size: %s" % err.output.decode('utf-8'))
