From d7ecaaa1ed0f88869812ea17cb64a102a74c8c1c Mon Sep 17 00:00:00 2001 From: Amar Tumballi Date: Tue, 17 Jan 2012 05:57:24 +0530 Subject: core: add 'fremovexattr()' fop so operations can be done on fd for extended attribute removal Change-Id: Ie026f1b53793aeb4ae33e96ea5408c7a97f34bf6 Signed-off-by: Amar Tumballi BUG: 766571 Reviewed-on: http://review.gluster.com/778 Tested-by: Gluster Build System Reviewed-by: Anand Avati --- libglusterfs/src/syscall.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'libglusterfs/src/syscall.c') diff --git a/libglusterfs/src/syscall.c b/libglusterfs/src/syscall.c index 5819218f55f..8e2d56b8d63 100644 --- a/libglusterfs/src/syscall.c +++ b/libglusterfs/src/syscall.c @@ -360,6 +360,32 @@ sys_fgetxattr (int filedes, const char *name, void *value, size_t size) } +int +sys_fremovexattr (int filedes, const char *name) +{ + +#if defined(GF_LINUX_HOST_OS) || defined(__NetBSD__) + return fremovexattr (filedes, name); +#endif + + errno = ENOSYS; + return -1; +#if 0 /* TODO: to port to other OSes, fill in each of below */ +#ifdef GF_BSD_HOST_OS + return extattr_remove_fd (filedes, EXTATTR_NAMESPACE_USER, name); +#endif + +#ifdef GF_SOLARIS_HOST_OS + return solaris_fremovexattr (filedes, name); +#endif + +#ifdef GF_DARWIN_HOST_OS + return fremovexattr (filedes, name, 0); +#endif +#endif +} + + int sys_fsetxattr (int filedes, const char *name, const void *value, size_t size, int flags) -- cgit