aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDonald Douwsma <ddouwsma@redhat.com>2022-10-14 18:58:47 +1100
committerCarlos Maiolino <cem@kernel.org>2022-10-24 10:31:28 +0200
commitaaaa57f32a605e4ebd2e4230fe036afc009ae0a0 (patch)
treeece5bce4d0ab4dcf6fa16c1e318448f9948f9511
parent7b843fdbbe47ed36117fc0e1fb95e4288f3a9c83 (diff)
downloadxfsdump-dev-aaaa57f32a605e4ebd2e4230fe036afc009ae0a0.tar.gz
xfsrestore: untangle inventory unpacking logic
stobj_unpack_sessinfo returns bool_t, fix logic in pi_addfile so errors can be properly reported. Signed-off-by: Donald Douwsma <ddouwsma@redhat.com> Reviewed-by: Darrick J. Wong <djwong@kernel.org> Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r--restore/content.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/restore/content.c b/restore/content.c
index b19bb90e..8bb5fa4f 100644
--- a/restore/content.c
+++ b/restore/content.c
@@ -5450,17 +5450,14 @@ pi_addfile(Media_t *Mediap,
* desc.
*/
sessp = 0;
- if (!buflen) {
- ok = BOOL_FALSE;
- } else {
- /* extract the session information from the buffer */
- if (stobj_unpack_sessinfo(bufp, buflen, &sessinfo)<0) {
- ok = BOOL_FALSE;
- } else {
+ ok = BOOL_FALSE;
+ /* extract the session information from the buffer */
+ if (buflen &&
+ stobj_unpack_sessinfo(bufp, buflen, &sessinfo)) {
stobj_convert_sessinfo(&sessp, &sessinfo);
ok = BOOL_TRUE;
- }
}
+
if (!ok || !sessp) {
mlog(MLOG_DEBUG | MLOG_WARNING | MLOG_MEDIA, _(
"on-media session "