diff options
author | shishir gowda <shishirng@gluster.com> | 2011-03-04 02:22:37 +0000 |
---|---|---|
committer | Anand V. Avati <avati@dev.gluster.com> | 2011-03-04 00:41:15 -0800 |
commit | 5b909c83de45e9457eef773cb24770b47d51a632 (patch) | |
tree | 4de0148ce00c572308b96c43e4f95ae49b88c2fa /libglusterfs/src/compat.h | |
parent | 0066a093a258bfd1a9130134318c3df3571a091d (diff) |
Solaris xattr support for symlink and special files.v3.1.3qa3
Since glusterfs uses xattr for storing gfid, and xattr support for
symlinks and special files does not exist in solaris. The work around
is provided by creating hidden files under export directory on solaris
hosts only. the hidden files ares maintained in .glusterfs_xattr_inode directory,
and all xattr ops on symlink and special files are redirected to respective
inodes.
All dir entries with name starting as .glusterfs (GF_HIDDEN_PATH) will
not be shown in readdir ops.
Signed-off-by: shishir gowda <shishirng@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2213 (Symlink fails with ENODATA)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2213
Diffstat (limited to 'libglusterfs/src/compat.h')
-rw-r--r-- | libglusterfs/src/compat.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libglusterfs/src/compat.h b/libglusterfs/src/compat.h index 690b4f9e689..cae3342efc6 100644 --- a/libglusterfs/src/compat.h +++ b/libglusterfs/src/compat.h @@ -280,6 +280,14 @@ int solaris_fsetxattr(int fd, const char* key, const char *value, size_t size, int flags); int solaris_flistxattr(int fd, char *list, size_t size); +int solaris_rename (const char *oldpath, const char *newpath); + +int solaris_unlink (const char *pathname); + +#define GF_SOLARIS_XATTR_DIR ".glusterfs_xattr_inode" + +int solaris_xattr_resolve_path (const char *real_path, char **path); + #endif /* GF_SOLARIS_HOST_OS */ #ifndef HAVE_ARGP |