diff options
author | Vijay Bellur <vijay@gluster.com> | 2012-04-09 23:11:52 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-04-11 10:25:56 -0700 |
commit | 076830c068fb39bbc3e863c89a4253cbea36357e (patch) | |
tree | 842884d8db9a40d5a53e5171c852a84daa8e0f65 /doc/legacy/solaris-related-xattrs.txt | |
parent | df8e2f53b70f4f49af70df308010dddfe5ca35ec (diff) |
doc: Move outdated documentation to legacy
Change-Id: I0ceba9a993e8b1cdef4ff6a784bfd69c08107d88
BUG: 811311
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Reviewed-on: http://review.gluster.com/3116
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'doc/legacy/solaris-related-xattrs.txt')
-rw-r--r-- | doc/legacy/solaris-related-xattrs.txt | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/legacy/solaris-related-xattrs.txt b/doc/legacy/solaris-related-xattrs.txt new file mode 100644 index 00000000..3a464394 --- /dev/null +++ b/doc/legacy/solaris-related-xattrs.txt @@ -0,0 +1,44 @@ + Solaris Extended Attributes + +In solaris extended attributes are logically supported as files +within the filesystem. The file system is therefore augmented +with an orthogonal namespace of file attributes. Attribute values +are accessed by file descriptors obtained through a special attribute +interface. This type of logical view of "attributes as files" allows +the leveraging of existing file system interface functionality to +support the construction, deletion and manipulation of attributes. + +But as we have tested through this functionality provided by Solaris +we have come accross two major issues as written below. + +1. Symlink XATTR_NOFOLLOW not present for creating extended attributes + directly on the symlinks like other platforms Linux,MAC-OSX,BSD etc. + An implementation is present for O_NOFOLLOW for "openat()" call sets + up errno ELOOP whenever encountered with a symlink and also another + implementation AT_SYMLINK_NOFOLLOW which is not present for calls like + "attropen(), openat()" + + a snippet of test code which helped us understand this behaviour + -------------------------------------- + attrfd = attropen (path, key, + flags|AT_SYMLINK_NOFOLLOW|O_CREAT|O_WRONLY|O_NOFOLLOW, 0777); + if (attrfd >= 0) { + ftruncate (attrfd, 0); + ret = write (attrfd, value, size); + close (attrfd); + } else { + fprintf (stderr, "Couldn't set extended attribute for %s (%d)\n", + path, errno); + } + -------------------------------------- + +2. Extended attribute support for special files like device files, fifo files + is not supported under solaris. + +Apart from these glitches almost everything regarding porting functionality +for extended attribute calls has been properly implemented in compat.c +with writing wrapper around functions over +"attropen()", "openat()", "unlinkat()" + + + |