[osol-discuss] Creating NFSv4/ZFS XATTR through dirfd through /proc not allowed?

2012-07-13 Thread ольга крыжановская
Can some one here explain why accessing a NFSv4/ZFS xattr directory through proc is forbidden? To explain the problem in shell code (cd -@ is a new option to enter the XATTR store, redirect {n}... opens a file or directory and assigns the fd number to variable 'n'): ksh -c 'touch x ; cd -@ x ;

Re: [osol-discuss] [zfs-discuss] Creating NFSv4/ZFS XATTR through dirfd through /proc not allowed?

2012-07-13 Thread Gordon Ross
On Fri, Jul 13, 2012 at 2:16 AM, ольга крыжановская olga.kryzhanov...@gmail.com wrote: Can some one here explain why accessing a NFSv4/ZFS xattr directory through proc is forbidden? [...] truss says the syscall fails with open(/proc/3988/fd/10/myxattr, O_WRONLY|O_CREAT|O_TRUNC, 0666) Err#13

Re: [osol-discuss] [zfs-discuss] Creating NFSv4/ZFS XATTR through dirfd through /proc not allowed?

2012-07-13 Thread ольга крыжановская
Yes, accessing the files through runat works. I think /proc (and /dev/fd, which has the same trouble but only works if the same process accesses the fds, for obvious reasons since /dev/fd is per process and can not be shared between processes unlike /proc/$pid/fd/) gets confused because the

Re: [osol-discuss] [zfs-discuss] Creating NFSv4/ZFS XATTR through dirfd through /proc not allowed?

2012-07-13 Thread Cindy Swearingen
I don't think that xattrs were ever intended or designed for /proc content. I could file an RFE for you if you wish. Thanks, Cindy On 07/13/12 14:00, ольга крыжановская wrote: Yes, accessing the files through runat works. I think /proc (and /dev/fd, which has the same trouble but only works

Re: [osol-discuss] [zfs-discuss] Creating NFSv4/ZFS XATTR through dirfd through /proc not allowed?

2012-07-13 Thread ольга крыжановская
Cindy, I was not trying to open a xattr for files in /proc. 1. Please read the openat() manual page 2. I opened a fd to the directory where the xattrs are in 3. My process, for example pid 123456, now has an open fd, for example with the number 12, which points to this xattr directory 4. Now I