samba-tool domain backup with lmdb on btrfs fails
Andreas Schneider
asn at samba.org
Tue Feb 14 17:12:05 UTC 2023
On Tuesday, 14 February 2023 16:39:59 CET Andreas Schneider via samba-
technical wrote:
> Hi,
>
> I've discovered on my Fedora 37 system that all tests related to domain
> backup fail. The strange thing is that I can't reliably reproduce it, I see
> reliably two different errors:
>
> lib/ldb/ldb_key_value/ldb_kv_search.c:162: Invalid data for index
> DN=@INDEXLIST
>
> or
>
> lib/ldb/ldb_mdb/ldb_mdb.c:419: MDB corrupted for key [ DN=@OPTIONS]
>
> ldb: Improve debug outout
> https://gitlab.com/samba-team/samba/-/merge_requests/2936
>
> It the tests worked just fine on my other system with openSUSE Tumbleweed.
> So I've tried to track it down. My home directory on openSUSE Tumbleweed is
> ext4 and on Fedora 37 my home is btrfs.
>
> So I created a btrfs filesystem on Tumbleweed and could reproduce the issue.
> The next thing I did is replace the compression algorithm for the domain
> backup tarball to gzip and it also failed.
>
> Now the question is if lmdb or btrfs needs a fix and how to create a minimal
> reproducer. As I never worked on this codepath, pointers and ideas would be
> really helpful!
I've did a quick hack and created the backup tarball (offlinebackupdc env) on
ext4 and restored it on btrfs.
@@ -3426,11 +3426,12 @@ sub setup_offlinebackupdc
$dnsupdate_options);
# create an offline backup of the 'backupfromdc' target
- my $backupdir = File::Temp->newdir();
- my $cmd = "offline --configfile $dcvars->{SERVERCONFFILE}";
- my $backup_file = $self->create_backup($env, $dcvars,
- $backupdir, $cmd);
+ my $backupdir = '/tmp/samba';
+ #my $cmd = "offline --configfile $dcvars->{SERVERCONFFILE}";
+ # my $backup_file = $self->create_backup($env, $dcvars,
+ # $backupdir, $cmd);
+ my $backup_file = '/tmp/samba/samba-
backup-2023-02-14T16-14-17.289039.tar.bz2';
unless($backup_file) {
return undef;
}
Backup file successfully restored to /var/tmp/samba-test/samba/st/
offlinebackupdc
So the corruption could also happen when creating the tarball. I will try to
checksum the file before backup put it into a file and store it into the
tarball, then I can unpack it and check the sums.
--
Andreas Schneider asn at samba.org
Samba Team www.samba.org
GPG-ID: 8DFF53E18F2ABC8D8F3C92237EE0FC4DCC014E3D
More information about the samba-technical
mailing list