]> git.ipfire.org Git - thirdparty/bacula.git/commit
Fix #9535 avoid "Will not descend from / to /good_dir"
authorAlain Spineux <alain@baculasystems.com>
Tue, 27 Sep 2022 12:39:07 +0000 (14:39 +0200)
committerEric Bollengier <eric@baculasystems.com>
Sat, 18 Feb 2023 09:21:25 +0000 (10:21 +0100)
commitadefbd44f169b2167f3718a95335d75ca53a6443
tree58bbdc53bf038bc1ec3a9ae80df7c184c422d22b
parent29c319e7951d18fd633bac545f6d477697662290
Fix #9535 avoid "Will not descend from / to /good_dir"

- when attributes are backed up, a function check_current_fs()
  update FF_PKT::last_fstype without updating FF_PKT::last_fstypename
  this make fstype() not refresh last_fstypename when last_fstype
  match the the value returned by statfs
- notice that fstype() whas alredy checking if last_fstypename[0]
  to force a refresh
- IMPORTANT this patch change a little bit the behavior of the original
  function, if fstype() cannot give a name to the FS then the
  function return false, whil in the original function don't care about
  the name and only compare the numeric ID
  the check_current_fs() above the check the FS name (instead of its num ID)
  also return false in this situation
- The problem is that the bacl.c and bxattr.c use this function
  to detect the change of filesystem (this is the problem)
  and if the new FS match one particular FS then set some flags.
  Detecting if the FS has changed is done only with the numeric "f_type"
  This is faster than comparing a string.
  This is probably why check_current_fs() don't call fstype()
  and call statfs() by himself.
bacula/src/findlib/fstype.c