The backup of a Windows PC stores more than just the file data, so I suspect
there is a bug in the code that calculates the vol file size.

__Martin


>>>>> On Wed, 22 Oct 2025 11:55:52 -0500, Rob Gerber said:
> 
> Bacula 15.0.2, running on rocky linux 9.x, backing up windows 11 PCs.
> 
> I ran a Data verify job against a full backup from my windows PCs, and I 
> found a number of "st_size  differs on" errors like those below. I am 
> confused by these results. I want to understand why the data verify jobs are 
> reporting these issues. I did spot checks of a few of the files reported, and 
> on restore the files I checked appear to be correct (with the exception of 1 
> file, that appears to change frequently).
> 
> Host td-qb:
> Many of the differing files from host td-qb complained that the vol had file 
> size xxx, with file size 0. One file differed, qmgr.db had a non-zero size. 
> This file changes frequently, so of course, on restore the file didn't hash 
> the same as the file currently on disk.
> 
> examples:
> td-cad1-fd JobId 3643:    st_size  differs on 
> "C:/ProgramData/Microsoft/Network/Downloader/qmgr.db". Vol: 1114360 File: 
> 1310720
> td-cad1-fd JobId 3643:    st_size  differs on 
> "C:/Users/Owner/AppData/Local/Packages/MicrosoftWindows.Client.CoreAI_cw5n1h2txyewy/Settings/settings.dat.LOG2".
>  Vol: 232 File: 0
> 
> Host td-cad2:
> For host td-cad2, there were around 160 st_size differs results with non-zero 
> filesizes. I pulled out a couple files that I am certain shouldn't have 
> changed, and restored them. Hashing with sha512 showed that the restored 
> files and the files on disk were identical.
> 
> examples:td-cad1-fd JobId 3641:    st_size  differs on 
> "C:/Craeon/backup/C/Program Files/Autodesk/AutoCAD LT 
> 2022/en-US/AcVMToolsRes.dll". Vol: 720532 File: 720520
> 
> td-cad1-fd JobId 3641:    st_size  differs on 
> "C:/Users/cad2/Dropbox/REDACTED/IMG_8253 (1).png". Vol: 7602302 File: 7601830
> 
> I do have zstd compression enabled for the fileset, but surely the data 
> verify job is using non-compressed filesize values, correct? Why should a 
> file with size 0 be reported as size xxx on the volume? I understand that the 
> volume needs some space to store the file attributes, but wouldn't the data 
> verify job understand the difference between the size used by attributes and 
> the size used by a file?
> 
> What strange thing could be happening here?
> 
> Details:
> My data verify job was not ran in accurate mode. I specified the verify job 
> should be ran against specific jobids.
> 
> verify job from bacula-dir.conf:
> Job {
>   Name = "Verify-job" 
>   JobDefs = "None"
>   Messages = "Standard"
>   Type = Verify
>   Storage = "Synology-Local"
>   Client = "td-bacula-fd"
>   Level = Data
> }
> 
> fileset:
> FileSet {
>   Name = "Windows-All-Drives-fs"
>   IgnoreFilesetChanges = no
>   Include {
>     Options {
>       Exclude = "yes"
>       IgnoreCase= "yes"
>       wilddir = "*:/Windows"
>       wildfile = "*:/pagefile.sys"
>       wildfile = "*:/hiberfil.sys"
>       wildfile = "*:/swapfile.sys"
>       wild = "*:/$Recycle.Bin"
>       wild = "*:/$recycler"
>       wild = "*:/Program Files (x86)"
>       wild = "*:/Program Files"
>       wild = "*:/recycler/"
>       wild = "*:/users/all users/microsoft help/"
>       wild = "*:/users/all users/microsoft/"
>       wild = "*:/i386/"
>       wild = "*:/msocache/"
>      }
> 
>     Options {
>       #compression=GZIP
>       #compression=LZO
>       compression=ZSTD
>       IgnoreCase= "yes"
>       Signature = "SHA512"
>       OneFS = "no"
>       DriveType = fixed, removable   # this means that we will not back up 
> cdrom, ramdisk, or remote (network) drives.
>       verify = pins3
>     }
>     File = /
>   }
> }
> 
> Sample truncated joblog output from one of the verify jobs:
> 
> td-bacula-dir JobId 3643: Verifying against JobId=3632 
> Job=Backup-td-qb-job.2025-10-20_21.05.06_02
> td-bacula-dir JobId 3643: Start Verify JobId=3643 Level=Data 
> Job=Verify-job.2025-10-21_09.36.58_45
> td-bacula-dir JobId 3643: Connected to Storage "Synology-Local" at 
> td-bacula:9103 with TLS
> td-bacula-dir JobId 3643: Using Device "Synology-Local-005" to read.
> td-bacula-dir JobId 3643: Connected to Client "td-cad1-fd" at 
> td-cad1.local:9102 with TLS
> td-cad1-fd JobId 3643: Connected to Storage at td-bacula:9103 with TLS
> td-bacula-sd JobId 3643: Ready to read from volume "Synology-Local-Full-0044" 
> on File device "Synology-Local-005" (/mnt/synology/bacula/Synology-Local).
> td-bacula-sd JobId 3643: Forward spacing Volume "Synology-Local-Full-0044" to 
> addr=280
> 
> <many st_size differs messages>
> 
> td-bacula-dir JobId 3643: Bacula td-bacula-dir 15.0.2 (21Mar24):
>   Build OS:               x86_64-redhat-linux-gnu-bacula redhat (Blue
>   JobId:                  3643
>   Job:                    Verify-job.2025-10-21_09.36.58_45
>   FileSet:                Windows-All-Drives-fs
>   Verify Level:           Data
>   Client:                 td-cad1-fd
>   Verify JobId:           3632
>   Verify Job:             
>   Start time:             21-Oct-2025 10:22:49
>   End time:               21-Oct-2025 10:46:54
>   Elapsed time:           24 mins 5 secs
>   Accurate:               no
>   Files Expected:         297,912
>   Files Examined:         297,912
>   Non-fatal FD errors:    0
>   SD Errors:              0
>   FD termination status:  Verify differences
>   SD termination status:  OK
>   Termination:            Verify Differences
> td-bacula-dir JobId 3643: Begin pruning Jobs older than 6 months .
> td-bacula-dir JobId 3643: No Jobs found to prune.
> td-bacula-dir JobId 3643: Begin pruning Files.
> td-bacula-dir JobId 3643: No Files found to prune.
> td-bacula-dir JobId 3643: End auto prune.
> 
> Regards,
> Robert Gerber
> 402-237-8692
> [email protected]
> 


_______________________________________________
Bacula-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to