bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

FTS not ready for a remount during traversal


From: Kamil Dudka
Subject: FTS not ready for a remount during traversal
Date: Wed, 21 Oct 2009 19:22:50 +0200
User-agent: KMail/1.12.1 (Linux/2.6.29.5-191.fc11.x86_64; KDE/4.3.1; x86_64; ; )

Hello,

the FTS module does not seem to be ready for a remount during traversal.
As a minimal example we can take the following situation:

https://bugzilla.redhat.com/show_bug.cgi?id=501848#c20

Descending a directory triggers a shrinkable mount which implies a change
of the device number. However FTS data structures keep the old value of
device number, not reflecting this change. And later, when returning back
to the same directory through "..", fts_safe_changedir() fails for no good
reason (caused by std_dev mismatch).

The attached patch seems to solve the problem by calling fstatat() again
after opening a directory (and updating the device number). The patch is
not supposed to be applied as-is. It's more likely an idea how the problem 
could be solved. Maybe something like that might be available via an option
to keep the original behavior unchanged (and eventually gain better 
performance in some cases).

Another approach is a workaround proposed by Ondra:

https://bugzilla.redhat.com/attachment.cgi?id=354464

Any idea how to solve the problem? Thanks in advance!

Kamil

Attachment: fts.patch
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]