I don't think that xattrs were ever intended or designed
for /proc content.

I could file an RFE for you if you wish.



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
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 directories have no name.
pfiles gets confused in a similar way and some times crashes, but
without a predictable pattern or test case.

As interestingly side note, doing a cd to the /proc/$$/fd/$fd first works:
-------- cut here --------
touch x4 ; cd -@ x4 ; redirect {n}<"." ; cd .. ;
(cd "/proc/$$/fd/$n" ; print "hello1">"myxattr") ;
(cd -@ x4 ; cat "myxattr" ) ;
rm x4
-------- stop cutting here --------
Accessing the file with the full path directly does not work:
-------- cut here --------
touch x1 ; cd -@ x1 ; redirect {n}<"." ; cd .. ;
print "hello1">"/proc/$$/fd/$n/myxattr1" ;
(cd -@ x1 ; cat "myxattr1" ) ;
rm x1
-------- stop cutting here --------


On Fri, Jul 13, 2012 at 9:17 PM, Gordon Ross<gordon.w.r...@gmail.com>  wrote:
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 EACCES

Accessing files or directories through /proc/$$/fd/ from a shell
otherwise works, only the xattr directories cause trouble. Native C
code has the same problem.


Does "runat" let you see those xattr files?

Gordon Ross<g...@nexenta.com>
Nexenta Systems, Inc.  www.nexenta.com
Enterprise class storage for everyone

zfs-discuss mailing list

Reply via email to