+-------------------------------------------------------------------
+Thu Aug 27 12:04:44 CEST 2020 - aschnell@suse.com
+
+- call fsync after writing snapshot info file (bsc#1078336)
+- version 0.8.13
+
-------------------------------------------------------------------
Thu Jul 23 11:52:31 CEST 2020 - aschnell@suse.com
/*
* Copyright (c) [2011-2014] Novell, Inc.
- * Copyright (c) 2018 SUSE LLC
+ * Copyright (c) [2018-2020] SUSE LLC
*
* All Rights Reserved.
*
}
+ int
+ SDir::fsync() const
+ {
+ return ::fsync(dirfd);
+ }
+
+
int
SDir::mktemp(string& name) const
{
/*
* Copyright (c) [2011-2014] Novell, Inc.
+ * Copyright (c) 2020 SUSE LLC
*
* All Rights Reserved.
*
int chmod(const string& name, mode_t mode, int flags) const;
int chown(const string& name, uid_t owner, gid_t group, int flags) const;
int rename(const string& oldname, const string& newname) const;
+ int fsync() const;
int mktemp(string& name) const;
bool mkdtemp(string& name) const;
/*
* Copyright (c) [2011-2015] Novell, Inc.
- * Copyright (c) [2016-2019] SUSE LLC
+ * Copyright (c) [2016-2020] SUSE LLC
*
* All Rights Reserved.
*
SN_THROW(IOErrorException(sformat("rename info.xml failed infoDir:%s errno:%d (%s)",
info_dir.fullname().c_str(), errno,
stringerror(errno).c_str())));
+
+ info_dir.fsync();
}
/*
* Copyright (c) [2010-2012] Novell, Inc.
+ * Copyright (c) 2020 SUSE LLC
*
* All Rights Reserved.
*
throw IOErrorException("xmlDocFormatDump failed");
}
+ fflush(f);
+ fsync(fileno(f));
fclose(f);
}