[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #14070] Spurious cycle detection with configure --with-fts and find
From: |
James Youngman |
Subject: |
[bug #14070] Spurious cycle detection with configure --with-fts and find -L |
Date: |
Tue, 9 Aug 2005 21:24:01 +0000 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050730 Firefox/1.0.6 (Debian package 1.0.6-2) |
Follow-up Comment #1, bug #14070 (project findutils):
Looks like a bug in the fts implementation:
I'm still investigating this problem, but I'm seeing some odd
behaviour with fts(). I have a directory layout like this:-
$ find find1 -ls
1299693 4 drwxr-xr-x 3 james users 4096 Aug 8 20:33 find1
1299705 4 drwxr-xr-x 2 james users 4096 Aug 8 20:33
find1/dir1
1299729 0 lrwxrwxrwx 1 james users 4 Aug 8 20:33
+find1/symlink_to_dir1 -> dir1
If I invoke fts_open() with the FTS_LOGICAL flag and do not set
FTS_TIGHT_CYCLE_CHECK, then fts_read() returns FTS_DC in
ent->fts_info. However, with the same directory layout FTS_DC is not set if
FTS_TIGHT_CYCLE_CHECK is set.
fts_options Result
FTS_NOSTAT|FTS_LOGICAL|FTS_TIGHT_CYCLE_CHECK OK
FTS_NOSTAT|FTS_LOGICAL Loop (wrongly) detected
FTS_NOSTAT|FTS_PHYSICAL OK
This means that I suspect that there may be a problem with
cycle_check() in this case, as called from fts-cycle.c. I have not fully
investigated the problem yet, so I am not sure if there really is a problem.
I have noticed in particular that leave_dir() in fts-cycle.c does
nothing if FTS_TIGHT_CYCLE_CHECK is not set. Perhaps that is related to this
problem.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?func=detailitem&item_id=14070>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/