From: Christof Schmitt Date: Wed, 10 Dec 2014 22:55:19 +0000 (-0700) Subject: gpfs: Move get_gpfs_fset_id to vfs_gpfs.c X-Git-Tag: tevent-0.9.24~27 X-Git-Url: http://git.samba.org/?p=samba.git;a=commitdiff_plain;h=a5ca63b266bd11c2523463bcd20a1a638afea845 gpfs: Move get_gpfs_fset_id to vfs_gpfs.c Signed-off-by: Christof Schmitt Reviewed-by: Ralph Böhme --- diff --git a/source3/modules/gpfs.c b/source3/modules/gpfs.c index 9654bd73f71..4b9b7757f3d 100644 --- a/source3/modules/gpfs.c +++ b/source3/modules/gpfs.c @@ -229,50 +229,6 @@ int gpfswrap_getfilesetid(char *pathname, char *name, int *idp) return gpfs_getfilesetid_fn(pathname, name, idp); } -int get_gpfs_fset_id(const char *pathname, int *fset_id) -{ - int err, fd, errno_fcntl; - - struct { - gpfsFcntlHeader_t hdr; - gpfsGetFilesetName_t fsn; - } arg; - - arg.hdr.totalLength = sizeof(arg); - arg.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION; - arg.hdr.fcntlReserved = 0; - arg.fsn.structLen = sizeof(arg.fsn); - arg.fsn.structType = GPFS_FCNTL_GET_FILESETNAME; - - fd = open(pathname, O_RDONLY); - if (fd == -1) { - DEBUG(1, ("Could not open %s: %s\n", - pathname, strerror(errno))); - return fd; - } - - err = gpfswrap_fcntl(fd, &arg); - errno_fcntl = errno; - close(fd); - - if (err) { - errno = errno_fcntl; - if (errno != ENOSYS) { - DEBUG(1, ("GPFS_FCNTL_GET_FILESETNAME for %s failed: " - "%s\n", pathname, strerror(errno))); - } - return err; - } - - err = gpfswrap_getfilesetid(discard_const_p(char, pathname), - arg.fsn.buffer, fset_id); - if (err && errno != ENOSYS) { - DEBUG(1, ("gpfs_getfilesetid for %s failed: %s\n", - pathname, strerror(errno))); - } - return err; -} - static void timespec_to_gpfs_time(struct timespec ts, gpfs_timestruc_t *gt, int idx, int *flags) { diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c index fe506cfd2d3..d7961701369 100644 --- a/source3/modules/vfs_gpfs.c +++ b/source3/modules/vfs_gpfs.c @@ -2005,6 +2005,50 @@ static int vfs_gpfs_connect(struct vfs_handle_struct *handle, return 0; } +static int get_gpfs_fset_id(const char *pathname, int *fset_id) +{ + int err, fd, errno_fcntl; + + struct { + gpfsFcntlHeader_t hdr; + gpfsGetFilesetName_t fsn; + } arg; + + arg.hdr.totalLength = sizeof(arg); + arg.hdr.fcntlVersion = GPFS_FCNTL_CURRENT_VERSION; + arg.hdr.fcntlReserved = 0; + arg.fsn.structLen = sizeof(arg.fsn); + arg.fsn.structType = GPFS_FCNTL_GET_FILESETNAME; + + fd = open(pathname, O_RDONLY); + if (fd == -1) { + DEBUG(1, ("Could not open %s: %s\n", + pathname, strerror(errno))); + return fd; + } + + err = gpfswrap_fcntl(fd, &arg); + errno_fcntl = errno; + close(fd); + + if (err) { + errno = errno_fcntl; + if (errno != ENOSYS) { + DEBUG(1, ("GPFS_FCNTL_GET_FILESETNAME for %s failed: " + "%s\n", pathname, strerror(errno))); + } + return err; + } + + err = gpfswrap_getfilesetid(discard_const_p(char, pathname), + arg.fsn.buffer, fset_id); + if (err && errno != ENOSYS) { + DEBUG(1, ("gpfs_getfilesetid for %s failed: %s\n", + pathname, strerror(errno))); + } + return err; +} + static int get_gpfs_quota(const char *pathname, int type, int id, struct gpfs_quotaInfo *qi) { diff --git a/source3/modules/vfs_gpfs.h b/source3/modules/vfs_gpfs.h index b61a0ddbae3..8c8ab74a5b2 100644 --- a/source3/modules/vfs_gpfs.h +++ b/source3/modules/vfs_gpfs.h @@ -45,5 +45,4 @@ int gpfswrap_set_times_path(char *pathname, int flags, int gpfswrap_quotactl(char *pathname, int cmd, int id, void *bufp); int gpfswrap_fcntl(int fd, void *argp); int gpfswrap_getfilesetid(char *pathname, char *name, int *idp); -int get_gpfs_fset_id(const char *pathname, int *fset_id); int smbd_gpfs_set_times_path(char *path, struct smb_file_time *ft);