diff options
Diffstat (limited to 'libglusterfs/src')
| -rw-r--r-- | libglusterfs/src/glusterfs/syscall.h | 9 | ||||
| -rw-r--r-- | libglusterfs/src/libglusterfs.sym | 3 | ||||
| -rw-r--r-- | libglusterfs/src/syscall.c | 21 | 
3 files changed, 33 insertions, 0 deletions
diff --git a/libglusterfs/src/glusterfs/syscall.h b/libglusterfs/src/glusterfs/syscall.h index 6b33c141a5e..91e921aea50 100644 --- a/libglusterfs/src/glusterfs/syscall.h +++ b/libglusterfs/src/glusterfs/syscall.h @@ -96,18 +96,27 @@ int  sys_unlink(const char *pathname);  int +sys_unlinkat(int dfd, const char *pathname); + +int  sys_rmdir(const char *pathname);  int  sys_symlink(const char *oldpath, const char *newpath);  int +sys_symlinkat(const char *oldpath, int dirfd, const char *newpath); + +int  sys_rename(const char *oldpath, const char *newpath);  int  sys_link(const char *oldpath, const char *newpath);  int +sys_linkat(int oldfd, const char *oldpath, int newfd, const char *newpath); + +int  sys_chmod(const char *path, mode_t mode);  int diff --git a/libglusterfs/src/libglusterfs.sym b/libglusterfs/src/libglusterfs.sym index dc7382ba749..47e0872ca59 100644 --- a/libglusterfs/src/libglusterfs.sym +++ b/libglusterfs/src/libglusterfs.sym @@ -1039,6 +1039,7 @@ sys_futimes  sys_lchown  sys_lgetxattr  sys_link +sys_linkat  sys_llistxattr  sys_lremovexattr  sys_lseek @@ -1062,8 +1063,10 @@ sys_rmdir  sys_stat  sys_statvfs  sys_symlink +sys_symlinkat  sys_truncate  sys_unlink +sys_unlinkat  sys_utimensat  sys_write  sys_writev diff --git a/libglusterfs/src/syscall.c b/libglusterfs/src/syscall.c index 1d88c8adac1..49f782a837a 100644 --- a/libglusterfs/src/syscall.c +++ b/libglusterfs/src/syscall.c @@ -214,6 +214,15 @@ sys_unlink(const char *pathname)  }  int +sys_unlinkat(int dfd, const char *pathname) +{ +#ifdef GF_SOLARIS_HOST_OS +    return FS_RET_CHECK0(solaris_unlinkat(dfd, pathname, 0), errno); +#endif +    return FS_RET_CHECK0(unlinkat(dfd, pathname, 0), errno); +} + +int  sys_rmdir(const char *pathname)  {      return FS_RET_CHECK0(rmdir(pathname), errno); @@ -226,6 +235,12 @@ sys_symlink(const char *oldpath, const char *newpath)  }  int +sys_symlinkat(const char *oldpath, int dirfd, const char *newpath) +{ +    return FS_RET_CHECK0(symlinkat(oldpath, dirfd, newpath), errno); +} + +int  sys_rename(const char *oldpath, const char *newpath)  {  #ifdef GF_SOLARIS_HOST_OS @@ -253,6 +268,12 @@ sys_link(const char *oldpath, const char *newpath)  }  int +sys_linkat(int oldfd, const char *oldpath, int newfd, const char *newpath) +{ +    return FS_RET_CHECK0(linkat(oldfd, oldpath, newfd, newpath, 0), errno); +} + +int  sys_chmod(const char *path, mode_t mode)  {      return FS_RET_CHECK0(chmod(path, mode), errno);  | 
