Re: [PATCH] fdopendir(3)



Kostik Belousov wrote:
On Sun, Apr 13, 2008 at 02:47:02PM -0700, Xin LI wrote:
Hi,

Any objection for the attached patch which implements fdopendir(3) that is found in various other OSes? Basically it splits __opendir2 into two parts, and expose the second part which deals with fd to provide fdopendir(3) functionalities.

There are some problems with the DTF_REWIND and union mounts.

I too implemented the fdopendir in the course of the *at() work after
the initial Roman Divacky submission. I put my patch at the
http://people.freebsd.org/~kib/misc/fdopendir.1.patch

I postponed the commit for further testing and some more changes related
to the committed *at syscalls (mainly man pages, the patch awaits the
review).

Some observations. __fdopendir2(). My feeling is that this is not suitable to separate as a standard alone file as its sole users are fdopendir() and opendir(), therefore, being static might be more appropriate. Do you have the intention to use it in somewhere else? If so we should really repocopy opendir.c to __fdopendir2.c (there is a minor unnecessary.

Another thing is that the fd == -1 && (flags & DTF_REWIND) statement. If this would be an internal routine then it sounds like to be better represented as an assertion. The caller should guarantee that the assertion hold true (by design), and the runtime check seems to be unnecessary (that's why I did not added these checks).

So I think the major difference between your version and mine is whether we wanted to expose __fdopendir2() outside libc?

Cheers,
--
Xin LI <delphij@xxxxxxxxxxx> http://www.delphij.net/
FreeBSD - The Power to Serve!
_______________________________________________
freebsd-current@xxxxxxxxxxx mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe@xxxxxxxxxxx"



Relevant Pages

  • Re: [PATCH] fdopendir(3)
    ... Basically it splits __opendir2 into two ... and expose the second part which deals with fd to provide ... I put my patch at the ... I postponed the commit for further testing and some more changes related ...
    (freebsd-current)
  • Re: NEWBUS states
    ... :>: I think the right fix here is to maintain in sync devinfo.h and bus.h ... Obviously that is not a finished patch, ... I'm specifically suggesting that we only MFC ... that would mean to not commit a patch and make impossible a future ...
    (freebsd-arch)
  • Re: [GIT PATCH] another tranche of SCSI updates for 2.6.26
    ... commit 064922a805ec7aadfafdd27aa6b4908d737c3c1d ... This patch adds more const keywords where appropriate. ... fix SLUB WARN_ON ... KVM: SVM: remove now obsolete FIXME comment ...
    (Linux-Kernel)
  • Re: Impact: (was Re: [PATCH] update rwlock initialization for nat_table)
    ... The commit e099a173573ce1ba171092aee7bb3c72ea686e59 ... As Andrew mentioned this is a bug (albeit a "nano-bug" as you ... hard to describe the practical impact of a patch in a single line, ... Try it if you dont believe me;-) In ...
    (Linux-Kernel)
  • Re: [PATCH] [1/2many] - FInd the maintainer(s) for a patch - scripts/get_maintainer.pl
    ... MAINTAINERS information, we have 3 options: ... There are things git can help, and other things git does not ... Linus already gave a script to grep *-by: lines from commit ... integration to git-based patch flow. ...
    (Linux-Kernel)