summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristof Schmitt <cs@samba.org>2014-12-10 15:50:14 -0700
committerChristof Schmitt <cs@samba.org>2015-03-02 22:31:08 +0100
commit9948163a64a564de6f423a915dc3dcaae44e3675 (patch)
tree380b28482d57f71eda60e16bbe2ebbb69e8a8a6c
parentf9629aee81084d4af39858c83eaf966e72e9e0f0 (diff)
downloadsamba-9948163a64a564de6f423a915dc3dcaae44e3675.tar.gz
gpfs: Move set_gpfs_lease to vfs_gpfs.c
Signed-off-by: Christof Schmitt <cs@samba.org> Reviewed-by: Ralph Böhme <slow@samba.org>
-rw-r--r--source3/modules/gpfs.c20
-rw-r--r--source3/modules/vfs_gpfs.c20
-rw-r--r--source3/modules/vfs_gpfs.h1
3 files changed, 20 insertions, 21 deletions
diff --git a/source3/modules/gpfs.c b/source3/modules/gpfs.c
index 585c522f641..c5ed93a6b6e 100644
--- a/source3/modules/gpfs.c
+++ b/source3/modules/gpfs.c
@@ -229,26 +229,6 @@ int gpfswrap_getfilesetid(char *pathname, char *name, int *idp)
return gpfs_getfilesetid_fn(pathname, name, idp);
}
-int set_gpfs_lease(int fd, int leasetype)
-{
- int gpfs_type = GPFS_LEASE_NONE;
-
- if (leasetype == F_RDLCK) {
- gpfs_type = GPFS_LEASE_READ;
- }
- if (leasetype == F_WRLCK) {
- gpfs_type = GPFS_LEASE_WRITE;
- }
-
- /* we unconditionally set CAP_LEASE, rather than looking for
- -1/EACCES as there is a bug in some versions of
- libgpfs_gpl.so which results in a leaked fd on /dev/ss0
- each time we try this with the wrong capabilities set
- */
- linux_set_lease_capability();
- return gpfswrap_set_lease(fd, gpfs_type);
-}
-
int get_gpfs_quota(const char *pathname, int type, int id,
struct gpfs_quotaInfo *qi)
{
diff --git a/source3/modules/vfs_gpfs.c b/source3/modules/vfs_gpfs.c
index 053b673d717..ab9cfee1f72 100644
--- a/source3/modules/vfs_gpfs.c
+++ b/source3/modules/vfs_gpfs.c
@@ -161,6 +161,26 @@ static int vfs_gpfs_close(vfs_handle_struct *handle, files_struct *fsp)
return SMB_VFS_NEXT_CLOSE(handle, fsp);
}
+static int set_gpfs_lease(int fd, int leasetype)
+{
+ int gpfs_type = GPFS_LEASE_NONE;
+
+ if (leasetype == F_RDLCK) {
+ gpfs_type = GPFS_LEASE_READ;
+ }
+ if (leasetype == F_WRLCK) {
+ gpfs_type = GPFS_LEASE_WRITE;
+ }
+
+ /* we unconditionally set CAP_LEASE, rather than looking for
+ -1/EACCES as there is a bug in some versions of
+ libgpfs_gpl.so which results in a leaked fd on /dev/ss0
+ each time we try this with the wrong capabilities set
+ */
+ linux_set_lease_capability();
+ return gpfswrap_set_lease(fd, gpfs_type);
+}
+
static int vfs_gpfs_setlease(vfs_handle_struct *handle, files_struct *fsp,
int leasetype)
{
diff --git a/source3/modules/vfs_gpfs.h b/source3/modules/vfs_gpfs.h
index 61389b9618a..b3c3e53ff6c 100644
--- a/source3/modules/vfs_gpfs.h
+++ b/source3/modules/vfs_gpfs.h
@@ -45,7 +45,6 @@ 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 set_gpfs_lease(int fd, int leasetype);
int get_gpfs_quota(const char *pathname, int type, int id,
struct gpfs_quotaInfo *qi);
int get_gpfs_fset_id(const char *pathname, int *fset_id);