docs/166091: [libc][patch] fts(3) should document cases where FTS_NOCHDIR option is set as a side-effect

Matthew Story matthewstory at gmail.com
Fri Mar 16 23:10:13 UTC 2012


The following reply was made to PR docs/166091; it has been noted by GNATS.

From: Matthew Story <matthewstory at gmail.com>
To: Jilles Tjoelker <jilles at stack.nl>
Cc: bug-followup at freebsd.org
Subject: Re: docs/166091: [libc][patch] fts(3) should document cases where
 FTS_NOCHDIR option is set as a side-effect
Date: Fri, 16 Mar 2012 19:02:47 -0400

 --20cf3071cf260a2e7f04bb64357f
 Content-Type: text/plain; charset=ISO-8859-1
 
 On Fri, Mar 16, 2012 at 6:38 PM, Jilles Tjoelker <jilles at stack.nl> wrote:
 
 > > [fts(3) automatically sets FTS_NOCHDIR option in some cases]
 >
 > I consider the automatic FTS_NOCHDIR a semi-bug that should not be
 > relied on.
 
 
 I agree with this, but as the behavior is non-obvious I think it should be
 noted.  Perhaps this is more appropriate for the BUGS section than the
 fts_open section?
 
 
 > If FTS_NOCHDIR is set, fts(3) runs slower and is subject to
 > {PATH_MAX}. The latter would violate POSIX in various utilities.
 >
 
 this would mean that find -L is currently in violation of POSIX?
 
 I tried to allow FTS_LOGICAL without FTS_NOCHDIR a while ago, but while
 > it is conceptually possible, actually making it work is hard.
 >
 
 Is anyone currently looking into this?
 
 
 >
 > The open(".", O_RDONLY) can use O_SEARCH when it is added (for now,
 > O_EXEC works) so it only needs 'x' right not also 'r'.
 >
 
 So this would then fall back to FTS_NOCHDIR if `.' is not searchable?
 
 
 >
 > --
 > Jilles Tjoelker
 >
 
 
 
 -- 
 regards,
 matt
 
 --20cf3071cf260a2e7f04bb64357f
 Content-Type: text/html; charset=ISO-8859-1
 Content-Transfer-Encoding: quoted-printable
 
 On Fri, Mar 16, 2012 at 6:38 PM, Jilles Tjoelker <span dir=3D"ltr"><<a h=
 ref=3D"mailto:jilles at stack.nl">jilles at stack.nl</a>></span> wrote:<br><di=
 v class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D"margin:0=
  0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 > [fts(3) automatically sets FTS_NOCHDIR option in some cases]<br>
 <br>
 I consider the automatic FTS_NOCHDIR a semi-bug that should not be<br>
 relied on.</blockquote><div><br></div><div>I agree with this, but as the be=
 havior is non-obvious I think it should be noted. =A0Perhaps this is more a=
 ppropriate for the BUGS section than the fts_open section?</div><div>=A0</d=
 iv>
 <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
 x #ccc solid;padding-left:1ex"> If FTS_NOCHDIR is set, fts(3) runs slower a=
 nd is subject to<br>
 {PATH_MAX}. The latter would violate POSIX in various utilities.<br></block=
 quote><div><br></div><div>this would mean that find -L is currently in viol=
 ation of POSIX?</div><div><br></div><blockquote class=3D"gmail_quote" style=
 =3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 
 I tried to allow FTS_LOGICAL without FTS_NOCHDIR a while ago, but while<br>
 it is conceptually possible, actually making it work is hard.<br></blockquo=
 te><div><br></div><div>Is anyone currently looking into this?</div><div>=A0=
 </div><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
 eft:1px #ccc solid;padding-left:1ex">
 
 <br>
 The open(".", O_RDONLY) can use O_SEARCH when it is added (for no=
 w,<br>
 O_EXEC works) so it only needs 'x' right not also 'r'.<br><=
 /blockquote><div><br></div><div>So this would then fall back to FTS_NOCHDIR=
  if `.' is not searchable?=A0</div><div>=A0</div><blockquote class=3D"g=
 mail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-l=
 eft:1ex">
 
 <span class=3D"HOEnZb"><font color=3D"#888888"><br>
 --<br>
 Jilles Tjoelker<br>
 </font></span></blockquote></div><br><br clear=3D"all"><div><br></div>-- <b=
 r>regards,<br>matt<br>
 
 --20cf3071cf260a2e7f04bb64357f--



More information about the freebsd-doc mailing list