mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-04-21 22:59:16 +02:00
bugster#6955199, on hsfs portfs will fail, and FEN backend will fail
to run lstat and port_associate on root node.
This commit is contained in:
parent
6b53e4826f
commit
798eed43a2
@ -417,9 +417,24 @@ node_adjust_deleted(node_t* f)
|
|||||||
|
|
||||||
FN_W ("%s %s\n", __func__, NODE_NAME(f));
|
FN_W ("%s %s\n", __func__, NODE_NAME(f));
|
||||||
|
|
||||||
for (ancestor = node_find_accessible_ancestor(f);
|
for (ancestor = NODE_PARENT(f);
|
||||||
!NODE_HAS_STATE(ancestor, NODE_STATE_ASSOCIATED) && port_add(ancestor) != 0;
|
ancestor != NULL;
|
||||||
ancestor = node_find_accessible_ancestor(ancestor)) { /* Empty */ }
|
ancestor = NODE_PARENT(ancestor)) {
|
||||||
|
/* Stop if we find a node which been already associated or is existed
|
||||||
|
* and can be associated.
|
||||||
|
*/
|
||||||
|
if (NODE_HAS_STATE(ancestor, NODE_STATE_ASSOCIATED) ||
|
||||||
|
(node_lstat(ancestor) == 0 && port_add(ancestor) == 0)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* We assume we shouldn't reach here, because Root is always existed and
|
||||||
|
* associated. But given bugster#6955199, if PORT FS has problems on root,
|
||||||
|
* we may reach here. So just return ROOT and the whole GIO fen backend will
|
||||||
|
* fail.
|
||||||
|
*/
|
||||||
|
/* g_assert(ancestor != NULL); */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user