Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package partclone for openSUSE:Factory checked in at 2023-10-05 20:03:42 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/partclone (Old) and /work/SRC/openSUSE:Factory/.partclone.new.28202 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "partclone" Thu Oct 5 20:03:42 2023 rev:23 rq:1115573 version:0.3.26 Changes: -------- --- /work/SRC/openSUSE:Factory/partclone/partclone.changes 2023-09-04 22:54:02.940757531 +0200 +++ /work/SRC/openSUSE:Factory/.partclone.new.28202/partclone.changes 2023-10-05 20:04:38.393935774 +0200 @@ -1,0 +2,9 @@ +Fri Sep 29 08:06:50 UTC 2023 - Paolo Stivanin <i...@paolostivanin.com> + +- update to 0.3.26: + * add the direct-io option for writing data to a TARGET device or file. + * correction for item at offset 76 + * report used blocks and free space based on bitmap +- force higher gcc version on Leap + +------------------------------------------------------------------- Old: ---- partclone-0.3.25.tar.gz New: ---- partclone-0.3.26.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ partclone.spec ++++++ --- /var/tmp/diff_new_pack.ySRzfB/_old 2023-10-05 20:04:39.497975660 +0200 +++ /var/tmp/diff_new_pack.ySRzfB/_new 2023-10-05 20:04:39.501975804 +0200 @@ -17,8 +17,12 @@ # +%if 0%{?suse_version} && 0%{?suse_version} < 1590 +%global force_gcc_version 12 +%endif + Name: partclone -Version: 0.3.25 +Version: 0.3.26 Release: 0 Summary: File System Clone Utilities License: GPL-2.0-or-later @@ -29,6 +33,7 @@ BuildRequires: automake BuildRequires: e2fsprogs-devel BuildRequires: fdupes +BuildRequires: gcc%{?force_gcc_version}-c++ >= 12 BuildRequires: libbtrfs-devel BuildRequires: nilfs-utils-devel BuildRequires: pkgconfig @@ -49,6 +54,10 @@ %autosetup %build +%if 0%{?force_gcc_version} + export CC=gcc-%{?force_gcc_version} + export CXX=g++-%{?force_gcc_version} +%endif export CFLAGS="%{optflags} -fcommon" autoreconf -fiv %configure \ ++++++ partclone-0.3.25.tar.gz -> partclone-0.3.26.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/.gitignore new/partclone-0.3.26/.gitignore --- old/partclone-0.3.25/.gitignore 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/.gitignore 2023-09-25 05:47:25.000000000 +0200 @@ -42,6 +42,7 @@ src/partclone.minix src/partclone.f2fs src/partclone.nilfs2 +src/partclone.imgfuse src/version.h stamp-h1 *.m4 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/IMAGE_FORMATS.md new/partclone-0.3.26/IMAGE_FORMATS.md --- old/partclone-0.3.25/IMAGE_FORMATS.md 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/IMAGE_FORMATS.md 2023-09-25 05:47:25.000000000 +0200 @@ -68,8 +68,8 @@ | 36 | 16 | File system's type | 52 | 8 | File system's total size | 60 | 8 | File system's total block count -| 68 | 8 | File system's used block count -| 76 | 8 | Bitmap's size, in bytes +| 68 | 8 | File system's used block count based on super-block +| 76 | 8 | File system's used block count based on bitmap | 84 | 4 | File system's block size | 88 | 4 | Size of feature section | 92 | 2 | Image version, in binary: 0x0002 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/config.h.in new/partclone-0.3.26/config.h.in --- old/partclone-0.3.25/config.h.in 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/config.h.in 2023-09-25 05:47:25.000000000 +0200 @@ -74,9 +74,6 @@ /* Define to 1 if you have the <locale.h> header file. */ #undef HAVE_LOCALE_H -/* Define to 1 if you have the <memory.h> header file. */ -#undef HAVE_MEMORY_H - /* Define to 1 if you have the <mntent.h> header file. */ #undef HAVE_MNTENT_H @@ -116,6 +113,9 @@ /* Define to 1 if you have the <stdint.h> header file. */ #undef HAVE_STDINT_H +/* Define to 1 if you have the <stdio.h> header file. */ +#undef HAVE_STDIO_H + /* Define to 1 if you have the <stdlib.h> header file. */ #undef HAVE_STDLIB_H @@ -170,17 +170,14 @@ /* Define to the version of this package. */ #undef PACKAGE_VERSION -/* Define to 1 if you have the ANSI C header files. */ +/* Define to 1 if all of the C90 standard headers exist (not just the ones + required in a freestanding environment). This macro is provided for + backward compatibility; new code need not use it. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/configure.ac new/partclone-0.3.26/configure.ac --- old/partclone-0.3.25/configure.ac 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/configure.ac 2023-09-25 05:47:25.000000000 +0200 @@ -1,4 +1,4 @@ -AC_INIT([Partclone],[0.3.25],[tho...@nchc.org.tw]) +AC_INIT([Partclone],[0.3.26],[tho...@nchc.org.tw]) AM_INIT_AUTOMAKE([-Wall foreign]) AM_GNU_GETTEXT_VERSION([0.16.1]) AM_GNU_GETTEXT([external]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/apfsclone.c new/partclone-0.3.26/src/apfsclone.c --- old/partclone-0.3.25/src/apfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/apfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -309,6 +309,7 @@ fs_info->block_size = nxsb.nx_block_size; fs_info->totalblock = nxsb.nx_block_count; fs_info->usedblocks = fs_info->totalblock-free_blocks; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->totalblock*fs_info->block_size; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/btrfsclone.c new/partclone-0.3.26/src/btrfsclone.c --- old/partclone-0.3.25/src/btrfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/btrfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -433,10 +433,12 @@ fs_info->block_size = btrfs_super_nodesize(root->fs_info->super_copy); fs_info->usedblocks = btrfs_super_bytes_used(root->fs_info->super_copy) / fs_info->block_size; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = btrfs_super_total_bytes(root->fs_info->super_copy); fs_info->totalblock = fs_info->device_size / fs_info->block_size; log_mesg(0, 0, 0, fs_opt.debug, "block_size = %i\n", fs_info->block_size); log_mesg(0, 0, 0, fs_opt.debug, "usedblock = %lli\n", fs_info->usedblocks); + log_mesg(0, 0, 0, fs_opt.debug, "superBlockUsedBlocks = %lli\n", fs_info->superBlockUsedBlocks); log_mesg(0, 0, 0, fs_opt.debug, "device_size = %llu\n", fs_info->device_size); log_mesg(0, 0, 0, fs_opt.debug, "totalblock = %lli\n", fs_info->totalblock); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/ddclone.c new/partclone-0.3.26/src/ddclone.c --- old/partclone-0.3.25/src/ddclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/ddclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -33,5 +33,6 @@ fs_info->device_size = get_partition_size(&src); fs_info->totalblock = fs_info->device_size / PART_SECTOR_SIZE; fs_info->usedblocks = fs_info->device_size / PART_SECTOR_SIZE; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; close(src); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/exfatclone.c new/partclone-0.3.26/src/exfatclone.c --- old/partclone-0.3.25/src/exfatclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/exfatclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -87,6 +87,7 @@ fs_info->block_size = EXFAT_SECTOR_SIZE(*sb); fs_info->totalblock = le64_to_cpu(sb->sector_count); fs_info->usedblocks = le64_to_cpu(sb->sector_count) - free_sectors; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->totalblock * fs_info->block_size; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/extfsclone.c new/partclone-0.3.26/src/extfsclone.c --- old/partclone-0.3.25/src/extfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/extfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -238,10 +238,12 @@ fs_info->totalblock = block_count(); fs_info->usedblocks = get_used_blocks(); fs_info->device_size = fs_info->block_size * fs_info->totalblock; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; log_mesg(1, 0, 0, fs_opt.debug, "%s: extfs block_size %i\n", __FILE__, fs_info->block_size); log_mesg(1, 0, 0, fs_opt.debug, "%s: extfs total block %lli\n", __FILE__, fs_info->totalblock); log_mesg(1, 0, 0, fs_opt.debug, "%s: extfs used blocks %lli\n", __FILE__, fs_info->usedblocks); + log_mesg(1, 0, 0, fs_opt.debug, "%s: extfs superBlock used blocks %lli\n", __FILE__, fs_info->superBlockUsedBlocks); log_mesg(1, 0, 0, fs_opt.debug, "%s: extfs device size %lli\n", __FILE__, fs_info->device_size); fs_close(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/f2fsclone.c new/partclone-0.3.26/src/f2fsclone.c --- old/partclone-0.3.25/src/f2fsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/f2fsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -121,6 +121,7 @@ fs_info->block_size = F2FS_BLKSIZE; fs_info->totalblock = sb->block_count; fs_info->usedblocks = (sb->segment_count-cp->free_segment_count)*DEFAULT_BLOCKS_PER_SEGMENT; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = config.total_sectors*config.sector_size; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/fatclone.c new/partclone-0.3.26/src/fatclone.c --- old/partclone-0.3.25/src/fatclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/fatclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -385,10 +385,12 @@ fs_info->block_size = fat_sb.sector_size; fs_info->totalblock = total_sector; fs_info->usedblocks = bused; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = total_sector * fs_info->block_size; log_mesg(2, 0, 0, fs_opt.debug, "%s: Block Size:%i\n", __FILE__, fs_info->block_size); log_mesg(2, 0, 0, fs_opt.debug, "%s: Total Blocks:%llu\n", __FILE__, fs_info->totalblock); log_mesg(2, 0, 0, fs_opt.debug, "%s: Used Blocks:%llu\n", __FILE__, fs_info->usedblocks); + log_mesg(2, 0, 0, fs_opt.debug, "%s: superBlockUsedBlocks:%llu\n", __FILE__, fs_info->superBlockUsedBlocks); log_mesg(2, 0, 0, fs_opt.debug, "%s: Device Size:%llu\n", __FILE__, fs_info->device_size); fs_close(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/hfsplusclone.c new/partclone-0.3.26/src/hfsplusclone.c --- old/partclone-0.3.25/src/hfsplusclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/hfsplusclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -311,9 +311,11 @@ fs_info->usedblocks = be32toh(sb.totalBlocks) - be32toh(sb.freeBlocks); fs_info->device_size = fs_info->block_size * fs_info->totalblock; } - log_mesg(2, 0, 0, 2, "%s: blockSize:%i\n", __FILE__, fs_info->block_size); - log_mesg(2, 0, 0, 2, "%s: totalBlocks:%i\n", __FILE__, fs_info->totalblock); - log_mesg(2, 0, 0, 2, "%s: freeBlocks:%i\n", __FILE__, fs_info->totalblock - fs_info->usedblocks); + fs_info->superBlockUsedBlocks = fs_info->usedblocks; + log_mesg(2, 0, 0, 2, "%s: blockSize:%lli\n", __FILE__, fs_info->block_size); + log_mesg(2, 0, 0, 2, "%s: totalBlocks:%lli\n", __FILE__, fs_info->totalblock); + log_mesg(2, 0, 0, 2, "%s: freeBlocks:%lli\n", __FILE__, fs_info->totalblock - fs_info->usedblocks); + log_mesg(2, 0, 0, 2, "%s: superBlockUsedBlocks:%lli\n", __FILE__, fs_info->superBlockUsedBlocks); print_fork_data(&sb.allocationFile); print_fork_data(&sb.extentsFile); print_fork_data(&sb.catalogFile); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/jfsclone.c new/partclone-0.3.26/src/jfsclone.c --- old/partclone-0.3.25/src/jfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/jfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -285,6 +285,7 @@ fs_info->block_size = sb.s_bsize; fs_info->totalblock = total_blocks; fs_info->usedblocks = used_blocks; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = total_blocks * sb.s_bsize; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/minixclone.c new/partclone-0.3.26/src/minixclone.c --- old/partclone-0.3.25/src/minixclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/minixclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -209,6 +209,7 @@ fs_info->block_size = get_block_size(); fs_info->totalblock = get_nzones(); fs_info->usedblocks = count_used_block(); + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->totalblock * fs_info->block_size; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/nilfsclone.c new/partclone-0.3.26/src/nilfsclone.c --- old/partclone-0.3.25/src/nilfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/nilfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -180,6 +180,7 @@ fs_info->block_size = nilfs_get_block_size(nilfs); fs_info->totalblock = sbp->s_dev_size / fs_info->block_size; fs_info->usedblocks = fs_info->totalblock - sbp->s_free_blocks_count; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = sbp->s_dev_size; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/partclone.c new/partclone-0.3.26/src/partclone.c --- old/partclone-0.3.25/src/partclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/partclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -73,6 +73,13 @@ int log_y_line = 0; #endif +#define OPT_OFFSET_DOMAIN 1000 +#define OPT_DIRECT_IO 1001 +// +//enum { +// OPT_OFFSET_DOMAIN = 1000 +//}; + /** * return the cpu architecture for which partclone is compiled * @@ -253,6 +260,7 @@ #endif #ifndef CHKIMG " -I, --ignore_fschk Ignore filesystem check\n" + " --direct-io Writing data to TARGET disk or image without cache.\n" #endif " -i, --ignore_crc Ignore checksum error\n" " -F, --force Force progress\n" @@ -300,9 +308,6 @@ } } -enum { - OPT_OFFSET_DOMAIN = 1000 -}; const char *exec_name = "unset_name"; @@ -347,6 +352,7 @@ { "force", no_argument, NULL, 'F' }, { "no_block_detail", no_argument, NULL, 'B' }, { "buffer_size", required_argument, NULL, 'z' }, + { "direct-io", no_argument, NULL, OPT_DIRECT_IO }, // not RESTORE and not CHKIMG #ifndef CHKIMG #ifndef RESTORE @@ -403,6 +409,7 @@ opt->reseed_checksum = 1; opt->blocks_per_checksum = 0; opt->blockfile = 0; + opt->direct_io = 0; #ifdef DD @@ -433,6 +440,9 @@ case 'v': print_version(); break; + case OPT_DIRECT_IO: + opt->direct_io = 1; + break; case 'n': memcpy(opt->note, optarg, NOTE_SIZE); break; @@ -1222,7 +1232,7 @@ ++used; } - fs_info->used_bitmap = used; + fs_info->usedblocks = used; } @@ -1568,6 +1578,10 @@ struct stat st_dev; int ddd_block_device = -1; + if (opt->direct_io == 1){ + flags = flags | O_DIRECT; + } + log_mesg(1, 0, 0, debug, "open target file/device %s\n", target); if (opt->ddd) { if (stat(target, &st_dev) != -1) { @@ -1907,6 +1921,7 @@ unsigned int block_s = fs_info.block_size; unsigned long long total = fs_info.totalblock; unsigned long long used = fs_info.usedblocks; + unsigned long long superBlockUsedBlocks = fs_info.superBlockUsedBlocks; int debug = opt.debug; char size_str[11]; @@ -1925,6 +1940,7 @@ log_mesg(0, 0, 1, debug, _("Free Space: %s = %llu Blocks\n"), size_str, (total-used)); log_mesg(0, 0, 1, debug, _("Block size: %i Byte\n"), block_s); + log_mesg(2, 0, 1, debug, _("Used Blocks in Super-Block: %llu Blocks\n"), superBlockUsedBlocks); } /// print image info diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/partclone.h new/partclone-0.3.26/src/partclone.h --- old/partclone-0.3.25/src/partclone.h 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/partclone.h 2023-09-25 05:47:25.000000000 +0200 @@ -120,6 +120,7 @@ int no_block_detail; int restore_raw_file; int skip_write_error; + int direct_io; unsigned int buffer_size; off_t offset; unsigned long fresh; @@ -181,10 +182,10 @@ unsigned long long totalblock; /// Number of blocks in use as reported by the file system - unsigned long long usedblocks; + unsigned long long superBlockUsedBlocks; /// Number of blocks in use in the bitmap - unsigned long long used_bitmap; + unsigned long long usedblocks; /// Number of bytes in each block unsigned int block_size; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/reiser4clone.c new/partclone-0.3.26/src/reiser4clone.c --- old/partclone-0.3.25/src/reiser4clone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/reiser4clone.c 2023-09-25 05:47:25.000000000 +0200 @@ -143,6 +143,7 @@ fs_info->block_size = get_ms_blksize(SUPER(fs->master)); fs_info->totalblock = reiser4_format_get_len(fs->format); fs_info->usedblocks = reiser4_format_get_len(fs->format) - free_blocks; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->block_size * fs_info->totalblock; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/reiserfsclone.c new/partclone-0.3.26/src/reiserfsclone.c --- old/partclone-0.3.25/src/reiserfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/reiserfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -111,6 +111,7 @@ fs_info->block_size = fs->super->s_v1.sb_block_size; fs_info->totalblock = fs->super->s_v1.sb_block_count; fs_info->usedblocks = fs->super->s_v1.sb_block_count - fs->super->s_v1.sb_free_blocks; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->block_size * fs_info->totalblock; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/ufsclone.c new/partclone-0.3.26/src/ufsclone.c --- old/partclone-0.3.25/src/ufsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/ufsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -182,6 +182,7 @@ strncpy(fs_info->fs, ufs_MAGIC, FS_MAGIC_SIZE); fs_info->block_size = afs.fs_fsize; fs_info->usedblocks = get_used_block(); + fs_info->superBlockUsedBlocks = fs_info->usedblocks; switch (disk.d_ufs) { case 2: fs_info->totalblock = afs.fs_size; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/version.h new/partclone-0.3.26/src/version.h --- old/partclone-0.3.25/src/version.h 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/version.h 2023-09-25 05:47:25.000000000 +0200 @@ -3,5 +3,5 @@ * WHETHER THEY ARE BUILT BY OTHERS OR DURING DEVELOPMENT OR FOR THE * OFFICIAL PARTCLONE RELEASES. */ -#define git_version "897b3a368f91c99e13a5dcf3f26ba8bc83f8999a" +#define git_version "8f931256b03cf919a0220ca35a91c3cd40b50bd9" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/vmfs5clone.c new/partclone-0.3.26/src/vmfs5clone.c --- old/partclone-0.3.25/src/vmfs5clone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/vmfs5clone.c 2023-09-25 05:47:25.000000000 +0200 @@ -433,12 +433,14 @@ fs_info->block_size = vmfs_fs_get_blocksize(fs); fs_info->totalblock = total; fs_info->usedblocks = alloc; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = vmfs_fs_get_blocksize(fs) * total; total_block = total+100; log_mesg(3, 0, 0, fs_opt.debug, "block_size %u\n", fs_info->block_size); log_mesg(3, 0, 0, fs_opt.debug, "totalblock %llu\n", fs_info->totalblock); log_mesg(3, 0, 0, fs_opt.debug, "device_size %llu\n", fs_info->device_size); log_mesg(3, 0, 0, fs_opt.debug, "usedblocks %llu\n", fs_info->usedblocks); + log_mesg(3, 0, 0, fs_opt.debug, "superBlockUsedBlocks %llu\n", fs_info->superBlockUsedBlocks); fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/vmfsclone.c new/partclone-0.3.26/src/vmfsclone.c --- old/partclone-0.3.25/src/vmfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/vmfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -139,6 +139,7 @@ fs_info->block_size = vmfs_fs_get_blocksize(fs); fs_info->totalblock = total; fs_info->usedblocks = alloc; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = vmfs_fs_get_blocksize(fs) * total; fs_close(); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/partclone-0.3.25/src/xfsclone.c new/partclone-0.3.26/src/xfsclone.c --- old/partclone-0.3.25/src/xfsclone.c 2023-08-04 16:53:07.000000000 +0200 +++ new/partclone-0.3.26/src/xfsclone.c 2023-09-25 05:47:25.000000000 +0200 @@ -350,11 +350,13 @@ fs_info->block_size = mp->m_sb.sb_blocksize; fs_info->totalblock = mp->m_sb.sb_dblocks; fs_info->usedblocks = mp->m_sb.sb_dblocks - mp->m_sb.sb_fdblocks; + fs_info->superBlockUsedBlocks = fs_info->usedblocks; fs_info->device_size = fs_info->totalblock * fs_info->block_size; log_mesg(1, 0, 0, fs_opt.debug, "%s: blcos size= %i\n", __FILE__, mp->m_sb.sb_blocksize); log_mesg(1, 0, 0, fs_opt.debug, "%s: total b= %lli\n", __FILE__, mp->m_sb.sb_dblocks); log_mesg(1, 0, 0, fs_opt.debug, "%s: free block= %lli\n", __FILE__, mp->m_sb.sb_fdblocks); log_mesg(1, 0, 0, fs_opt.debug, "%s: used block= %lli\n", __FILE__, (mp->m_sb.sb_dblocks - mp->m_sb.sb_fdblocks)); + log_mesg(1, 0, 0, fs_opt.debug, "%s: superBlockUsedBlocks= %lli\n", __FILE__, fs_info->superBlockUsedBlocks); log_mesg(1, 0, 0, fs_opt.debug, "%s: device size= %lli\n", __FILE__, (mp->m_sb.sb_blocksize*mp->m_sb.sb_dblocks)); fs_close();