Re: [PATCH] POSIX extended API set 2, round 2

2012-11-13 Thread Taylor R Campbell
Date: Tue, 13 Nov 2012 09:52:21 + From: Emmanuel Dreyfus m...@netbsd.org New version of the patch for POSIX extended API set 2: http://ftp.espci.fr/shadow/manu/openat3.patch OK, thanks, this looks better. Some comments below, mostly very minor. First, though -- are there any

Re: [PATCH] POSIX extended API set 2, round 2

2012-11-13 Thread Emmanuel Dreyfus
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: OK, thanks, this looks better. Some comments below, mostly very minor. First, though -- are there any changes to header files? I didn't see any in the patch. No, that have been done some time ago so that it could be already in

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread David Holland
On Sun, Nov 11, 2012 at 08:17:26AM +0100, Emmanuel Dreyfus wrote: I know this is a bike shed, and I'm sorry to be the one to bring it up, but can we use the names chmodat, chownat, c., for our native system calls, and just use libc aliases or _BLAH_SOURCE nonsense or something for the

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread David Holland
On Sun, Nov 11, 2012 at 05:55:23AM +0100, Emmanuel Dreyfus wrote: + /* + * openat() falls back to open() behavior if + * - path is absolute XXX check this. + * - fd is AT_FDCWD + */ Have you checked the XXX, and/or written automatic tests for it?

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Alan Barrett
On Sun, 11 Nov 2012, Emmanuel Dreyfus wrote: Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: I know this is a bike shed, and I'm sorry to be the one to bring it up, but can we use the names chmodat, chownat, c., for our native system calls, and just use libc aliases or

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread David Holland
On Sun, Nov 11, 2012 at 08:31:02AM +0100, Emmanuel Dreyfus wrote: I don't think namei.h / vfs_lookup.c is the right place to be handling file descriptors. Can you make these take vnodes, rather than file descriptors, or move them into vfs_syscalls.c? I made the change, but it makes

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread David Holland
On Sun, Nov 11, 2012 at 10:39:06AM +0200, Alan Barrett wrote: However, I also want the inconsistent POSIX names to be provided. I don't know a good way of satisfying both goals. #if defined(_POSIX_C_SOURCE) || defined(_XOPEN_SOURCE) /* or whatever */ int fchmodat(int, const char *, mode_t,

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
David Holland dholland-t...@netbsd.org wrote: What is the goal? You want to write userland code using chmodat() instead of fchmodat()? The wrong names should be exposed in as few places as possible. What do you call the wrong name? The non-standard chmodat() or the odd-looking fchmodat()?

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
David Holland dholland-t...@netbsd.org wrote: In order to check for absolute path, I need to copyin the path, and it wil be copied in later again. I suspect that check should go at namei level. I don't understand. Why do you need to copy in the path twice? Don't do that. Yes, I

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
David Holland dholland-t...@netbsd.org wrote: I think you'll leak pb here in the error branch above. I haven't gone through the other error branches in the patch, but the proliferation of new resource acquisitions requiring clean-up makes me nervous. The problem is that we

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Matt Thomas
On Nov 11, 2012, at 12:39 AM, Alan Barrett wrote: I want the names to follow a clear and easily-documented pattern. Takes a name Takes a fd, not a name Takes a name and an at fd (prepend f) (append at) --

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread David Laight
On Sun, Nov 11, 2012 at 04:19:03AM -0800, Matt Thomas wrote: On Nov 11, 2012, at 12:39 AM, Alan Barrett wrote: I want the names to follow a clear and easily-documented pattern. Takes a nameTakes a fd, not a name Takes a name and an at fd (prepend f)

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Matt Thomas
On Nov 11, 2012, at 4:13 AM, David Laight wrote: On Sun, Nov 11, 2012 at 04:19:03AM -0800, Matt Thomas wrote: On Nov 11, 2012, at 12:39 AM, Alan Barrett wrote: I want the names to follow a clear and easily-documented pattern. Takes a nameTakes a fd, not a name Takes a name and

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
Alan Barrett a...@cequrux.com wrote: chdir fchdir chdirat chdirat does not exist in standard. -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Greg Troxel
I want the names to follow a clear and easily-documented pattern. However, I also want the inconsistent POSIX names to be provided. I see where you're coming from, but it seems like asking for trouble to encourage any code to be written which uses function names other than the ones defined

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
Greg Troxel g...@ir.bbn.com wrote: I see where you're coming from, but it seems like asking for trouble to encourage any code to be written which uses function names other than the ones defined by POSIX. So I don't see that defining the names that POSIX should have used as a net positive

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Taylor R Campbell
Date: Sun, 11 Nov 2012 08:31:02 +0100 From: m...@netbsd.org (Emmanuel Dreyfus) Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: I don't think namei.h / vfs_lookup.c is the right place to be handling file descriptors. Can you make these take vnodes, rather than file

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Taylor R Campbell
Date: Sun, 11 Nov 2012 05:55:23 +0100 From: m...@netbsd.org (Emmanuel Dreyfus) Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: + /* + * openat() falls back to open() behavior if + * - path is absolute XXX check this. + * - fd is AT_FDCWD

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Mouse
NetBSD does things right, but somehow encouraging the write of nonportable code is not The Right Thing, IMO. Like the way NetSBD does by providing extensions in libraries, like glob(3) or regex(3)? By shipping with a compiler that supports (highly useful, but nonstandard) extensions to C?

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: Sorry, my question wasn't clear. All I meant was `Have you confirmed by code inspection that this is true Yes. -- Emmanuel Dreyfus http://hcpnet.free.fr/pubz m...@netbsd.org

Re: [PATCH] POSIX extended API set 2

2012-11-11 Thread Emmanuel Dreyfus
Mouse mo...@rodents-montreal.org wrote: NetBSD does things right, but somehow encouraging the write of nonportable code is not The Right Thing, IMO. Like the way NetSBD does by providing extensions in libraries, like glob(3) or regex(3)? [many other good BSD additions] You cite a lot of

Re: [PATCH] POSIX extended API set 2

2012-11-10 Thread Taylor R Campbell
Date: Sat, 10 Nov 2012 07:44:18 +0100 From: m...@netbsd.org (Emmanuel Dreyfus) This patch implementes openat(2), mkdirat(2), mknodat(2), mkfifoat(2) fchmodat(2) and fchownat(2), and adds test cases for the new system calls: I know this is a bike shed, and I'm sorry to be the one

Re: [PATCH] POSIX extended API set 2

2012-11-10 Thread Taylor R Campbell
Some quick responses to the substance of the patch now that I have skimmed it... Date: Sat, 10 Nov 2012 07:44:18 +0100 From: m...@netbsd.org (Emmanuel Dreyfus) Index: sys/sys/namei.h +int nameiat_simple_kernel(int, const char *, namei_simple_flags_t, +struct vnode **);

Re: [PATCH] POSIX extended API set 2

2012-11-10 Thread Emmanuel Dreyfus
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: + /* + * openat() falls back to open() behavior if + * - path is absolute XXX check this. + * - fd is AT_FDCWD + */ Have you checked the XXX, and/or written automatic tests for it? In order to check for

Re: [PATCH] POSIX extended API set 2

2012-11-10 Thread Emmanuel Dreyfus
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: I know this is a bike shed, and I'm sorry to be the one to bring it up, but can we use the names chmodat, chownat, c., for our native system calls, and just use libc aliases or _BLAH_SOURCE nonsense or something for the ridiculous

Re: [PATCH] POSIX extended API set 2

2012-11-10 Thread Emmanuel Dreyfus
Taylor R Campbell campbell+netbsd-tech-k...@mumble.net wrote: I don't think namei.h / vfs_lookup.c is the right place to be handling file descriptors. Can you make these take vnodes, rather than file descriptors, or move them into vfs_syscalls.c? I made the change, but it makes

[PATCH] POSIX extended API set 2

2012-11-09 Thread Emmanuel Dreyfus
Hi Thanks to David Holland work on namei, I was able to start implementing POSIX extended API set 2. This patch implementes openat(2), mkdirat(2), mknodat(2), mkfifoat(2) fchmodat(2) and fchownat(2), and adds test cases for the new system calls: http://ftp.espci.fr/shadow/manu/openat.patch