Obsoleted by NFS-Ganesha in the CentOS Storage SIG
This commit is contained in:
parent
eb3659bb92
commit
549351d709
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,2 +0,0 @@
|
|||||||
*.tar.gz
|
|
||||||
*.rpm
|
|
1
dead.package
Normal file
1
dead.package
Normal file
@ -0,0 +1 @@
|
|||||||
|
Obsoleted by NFS-Ganesha in the CentOS Storage SIG
|
@ -1,91 +0,0 @@
|
|||||||
--- nfs-ganesha-2.0.0/src/CMakeLists.txt.orig 2014-05-20 13:58:50.685211144 -0400
|
|
||||||
+++ nfs-ganesha-2.0.0/src/CMakeLists.txt 2014-05-20 14:00:24.825924703 -0400
|
|
||||||
@@ -125,6 +125,7 @@
|
|
||||||
|
|
||||||
if (LINUX)
|
|
||||||
set(PLATFORM "LINUX")
|
|
||||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_LARGEFILE64_SOURCE")
|
|
||||||
set(OS_INCLUDE_DIR "${PROJECT_SOURCE_DIR}/include/os/linux")
|
|
||||||
find_library(LIBDL dl) # module loader
|
|
||||||
endif(LINUX)
|
|
||||||
--- nfs-ganesha-2.0.0/src/os/linux/subr.c.orig 2014-05-20 14:02:56.340987294 -0400
|
|
||||||
+++ nfs-ganesha-2.0.0/src/os/linux/subr.c 2014-05-20 14:03:41.196565516 -0400
|
|
||||||
@@ -34,6 +34,7 @@
|
|
||||||
#include <sys/syscall.h>
|
|
||||||
#include "os/subr.h"
|
|
||||||
|
|
||||||
+#ifdef NOT_TRUE
|
|
||||||
/* not defined in linux headers so we do it here
|
|
||||||
*/
|
|
||||||
struct linux_dirent {
|
|
||||||
@@ -50,6 +51,7 @@
|
|
||||||
// offset is (d_reclen - 1))
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @brief Read system directory entries into the buffer
|
|
||||||
@@ -63,7 +65,7 @@
|
|
||||||
{
|
|
||||||
int retval = 0;
|
|
||||||
|
|
||||||
- retval = syscall(SYS_getdents, fd, buf, bcount);
|
|
||||||
+ retval = syscall(SYS_getdents64, fd, buf, bcount);
|
|
||||||
if (retval >= 0)
|
|
||||||
*basepp += retval;
|
|
||||||
return retval;
|
|
||||||
@@ -82,7 +84,7 @@
|
|
||||||
|
|
||||||
bool to_vfs_dirent(char *buf, int bpos, struct vfs_dirent *vd, off_t base)
|
|
||||||
{
|
|
||||||
- struct linux_dirent *dp = (struct linux_dirent *)(buf + bpos);
|
|
||||||
+ struct dirent64 *dp = (struct dirent64 *)(buf + bpos);
|
|
||||||
char type;
|
|
||||||
|
|
||||||
vd->vd_ino = dp->d_ino;
|
|
||||||
--- nfs-ganesha-2.0.0/src/FSAL/FSAL_GPFS/handle.c.orig 2014-05-20 14:30:03.880250822 -0400
|
|
||||||
+++ nfs-ganesha-2.0.0/src/FSAL/FSAL_GPFS/handle.c 2014-05-20 14:31:41.470619655 -0400
|
|
||||||
@@ -438,6 +438,7 @@
|
|
||||||
return status;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef NOT_TRUE
|
|
||||||
/* not defined in linux headers so we do it here
|
|
||||||
*/
|
|
||||||
|
|
||||||
@@ -455,6 +456,7 @@
|
|
||||||
// offset is (d_reclen - 1))
|
|
||||||
*/
|
|
||||||
};
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
#define BUF_SIZE 1024
|
|
||||||
/**
|
|
||||||
@@ -480,7 +482,7 @@
|
|
||||||
fsal_status_t status;
|
|
||||||
off_t seekloc = 0;
|
|
||||||
int bpos, cnt, nread;
|
|
||||||
- struct linux_dirent *dentry;
|
|
||||||
+ struct dirent64 *dentry;
|
|
||||||
char buf[BUF_SIZE];
|
|
||||||
|
|
||||||
if (whence != NULL)
|
|
||||||
@@ -502,7 +504,7 @@
|
|
||||||
}
|
|
||||||
cnt = 0;
|
|
||||||
do {
|
|
||||||
- nread = syscall(SYS_getdents, dirfd, buf, BUF_SIZE);
|
|
||||||
+ nread = syscall(SYS_getdents64, dirfd, buf, BUF_SIZE);
|
|
||||||
if (nread < 0) {
|
|
||||||
retval = errno;
|
|
||||||
fsal_error = posix2fsal_error(retval);
|
|
||||||
@@ -511,7 +513,7 @@
|
|
||||||
if (nread == 0)
|
|
||||||
break;
|
|
||||||
for (bpos = 0; bpos < nread;) {
|
|
||||||
- dentry = (struct linux_dirent *)(buf + bpos);
|
|
||||||
+ dentry = (struct dirent64 *)(buf + bpos);
|
|
||||||
if (strcmp(dentry->d_name, ".") == 0
|
|
||||||
|| strcmp(dentry->d_name, "..") == 0)
|
|
||||||
goto skip; /* must skip '.' and '..' */
|
|
@ -1,18 +0,0 @@
|
|||||||
--- nfs-ganesha-2.0.0/src/FSAL/FSAL_CEPH/handle.c.orig 2014-06-02 01:49:21.711983531 -0400
|
|
||||||
+++ nfs-ganesha-2.0.0/src/FSAL/FSAL_CEPH/handle.c 2014-06-02 01:50:57.119983531 -0400
|
|
||||||
@@ -374,12 +374,13 @@
|
|
||||||
/* The private 'full' directory handle */
|
|
||||||
struct handle *link = container_of(link_pub, struct handle, handle);
|
|
||||||
/* Pointer to the Ceph link content */
|
|
||||||
- char *content = NULL;
|
|
||||||
+ char content[4096] = {0,};
|
|
||||||
|
|
||||||
/* Content points into a static buffer in the Ceph client's
|
|
||||||
cache, so we don't have to free it. */
|
|
||||||
|
|
||||||
- rc = ceph_ll_readlink(export->cmount, link->i, &content, 0, 0);
|
|
||||||
+ rc = ceph_ll_readlink(export->cmount, link->i,
|
|
||||||
+ content, sizeof content, 0, 0);
|
|
||||||
|
|
||||||
if (rc < 0)
|
|
||||||
return ceph2fsal_error(rc);
|
|
@ -1,12 +0,0 @@
|
|||||||
diff -up nfs-ganesha-2.0.0/src/FSAL/FSAL_LUSTRE/fsal_handle.h.lustre-strict nfs-ganesha-2.0.0/src/FSAL/FSAL_LUSTRE/fsal_handle.h
|
|
||||||
--- nfs-ganesha-2.0.0/src/FSAL/FSAL_LUSTRE/fsal_handle.h.lustre-strict 2013-12-10 16:01:48.823633927 -0800
|
|
||||||
+++ nfs-ganesha-2.0.0/src/FSAL/FSAL_LUSTRE/fsal_handle.h 2013-12-10 16:02:38.036661006 -0800
|
|
||||||
@@ -109,7 +109,7 @@ static inline int lustre_name_to_handle_
|
|
||||||
struct lustre_file_handle
|
|
||||||
*out_handle, int flags)
|
|
||||||
{
|
|
||||||
- char path[MAXPATHLEN];
|
|
||||||
+ char path[MAXPATHLEN + 2];
|
|
||||||
|
|
||||||
if (!mntpath || !at_handle || !name || !out_handle)
|
|
||||||
return -1;
|
|
@ -1,12 +0,0 @@
|
|||||||
*** nfs-ganesha-2.0.0/src/CMakeLists.txt.orig 2013-12-11 12:46:24.587001058 -0500
|
|
||||||
--- nfs-ganesha-2.0.0/src/CMakeLists.txt 2013-12-11 12:47:27.314999423 -0500
|
|
||||||
***************
|
|
||||||
*** 34,39 ****
|
|
||||||
--- 34,40 ----
|
|
||||||
|
|
||||||
# find out which platform we are building on
|
|
||||||
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
|
||||||
+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-strict-aliasing")
|
|
||||||
set(LINUX ON)
|
|
||||||
set(UNIX ON)
|
|
||||||
# Now detects the Linux's distro
|
|
@ -1,26 +0,0 @@
|
|||||||
--- nfs-ganesha-pre-2.0-RC3/src/os/linux/subr.c.orig 2013-11-04 13:17:41.284000000 -0500
|
|
||||||
+++ nfs-ganesha-pre-2.0-RC3/src/os/linux/subr.c 2013-11-04 13:31:05.496000000 -0500
|
|
||||||
@@ -127,7 +127,6 @@
|
|
||||||
{
|
|
||||||
uid_t orig_uid = setfsuid(uid);
|
|
||||||
if (uid != setfsuid(uid)) {
|
|
||||||
- setfsuid(orig_uid);
|
|
||||||
LogCrit(COMPONENT_FSAL, "Could not set user identity");
|
|
||||||
}
|
|
||||||
return orig_uid;
|
|
||||||
@@ -137,7 +136,6 @@
|
|
||||||
{
|
|
||||||
gid_t orig_gid = setfsgid(gid);
|
|
||||||
if (gid != setfsgid(gid)) {
|
|
||||||
- setfsgid(orig_gid);
|
|
||||||
LogCrit(COMPONENT_FSAL, "Could not set group identity");
|
|
||||||
}
|
|
||||||
return orig_gid;
|
|
||||||
--- nfs-ganesha-pre-2.0-RC3/src/tools/ganestat.pl.orig 2013-11-04 16:46:40.414916999 -0500
|
|
||||||
+++ nfs-ganesha-pre-2.0-RC3/src/tools/ganestat.pl 2013-11-04 16:47:09.108916999 -0500
|
|
||||||
@@ -1,4 +1,4 @@
|
|
||||||
-#!/bin/env perl
|
|
||||||
+#!/usr/bin/perl
|
|
||||||
#
|
|
||||||
################## Doxygen header ##################
|
|
||||||
#*
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/include/cache_inode.h.orig 2015-02-12 11:12:22.218718318 -0500
|
|
||||||
--- nfs-ganesha-2.1.0/src/include/cache_inode.h 2015-02-12 11:12:37.967718318 -0500
|
|
||||||
***************
|
|
||||||
*** 879,885 ****
|
|
||||||
cache_inode_status_t cache_inode_invalidate(cache_entry_t *entry,
|
|
||||||
uint32_t flags);
|
|
||||||
|
|
||||||
! inline int cache_inode_set_time_current(struct timespec *time);
|
|
||||||
|
|
||||||
void cache_inode_destroyer(void);
|
|
||||||
|
|
||||||
--- 879,885 ----
|
|
||||||
cache_inode_status_t cache_inode_invalidate(cache_entry_t *entry,
|
|
||||||
uint32_t flags);
|
|
||||||
|
|
||||||
! int cache_inode_set_time_current(struct timespec *time);
|
|
||||||
|
|
||||||
void cache_inode_destroyer(void);
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/cache_inode/cache_inode_getattr.c.orig 2014-06-27 10:06:09.273133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/cache_inode/cache_inode_getattr.c 2014-06-27 10:06:45.677133273 -0400
|
|
||||||
***************
|
|
||||||
*** 71,77 ****
|
|
||||||
cache_inode_getattr_cb_t cb)
|
|
||||||
{
|
|
||||||
cache_inode_status_t status;
|
|
||||||
! struct gsh_export *junction_export;
|
|
||||||
cache_entry_t *junction_entry;
|
|
||||||
uint64_t mounted_on_fileid;
|
|
||||||
|
|
||||||
--- 71,77 ----
|
|
||||||
cache_inode_getattr_cb_t cb)
|
|
||||||
{
|
|
||||||
cache_inode_status_t status;
|
|
||||||
! struct gsh_export *junction_export = NULL;
|
|
||||||
cache_entry_t *junction_entry;
|
|
||||||
uint64_t mounted_on_fileid;
|
|
||||||
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/FSAL/commonlib.c.orig 2014-06-27 14:08:23.118133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/FSAL/commonlib.c 2014-06-27 14:09:12.677133273 -0400
|
|
||||||
***************
|
|
||||||
*** 752,758 ****
|
|
||||||
int change_fsid_type(struct fsal_filesystem *fs,
|
|
||||||
enum fsid_type fsid_type)
|
|
||||||
{
|
|
||||||
! uint64_t major, minor;
|
|
||||||
bool valid = false;
|
|
||||||
|
|
||||||
if (fs->fsid_type == fsid_type)
|
|
||||||
--- 752,758 ----
|
|
||||||
int change_fsid_type(struct fsal_filesystem *fs,
|
|
||||||
enum fsid_type fsid_type)
|
|
||||||
{
|
|
||||||
! uint64_t major = 0, minor = 0;
|
|
||||||
bool valid = false;
|
|
||||||
|
|
||||||
if (fs->fsid_type == fsid_type)
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/include/config-h.in.cmake.orig 2014-06-27 11:38:56.845133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/include/config-h.in.cmake 2014-06-27 11:39:09.294133273 -0400
|
|
||||||
***************
|
|
||||||
*** 14,20 ****
|
|
||||||
#define _GIT_HEAD_COMMIT "@_GIT_HEAD_COMMIT@"
|
|
||||||
#define _GIT_DESCRIBE "@_GIT_DESCRIBE@"
|
|
||||||
#define BUILD_HOST "@BUILD_HOST_NAME@"
|
|
||||||
! #define FSAL_MODULE_LOC "@MODULES_PATH@/@FSAL_DESTINATION@"
|
|
||||||
/* Build controls */
|
|
||||||
|
|
||||||
#cmakedefine _MSPAC_SUPPORT 1
|
|
||||||
--- 14,20 ----
|
|
||||||
#define _GIT_HEAD_COMMIT "@_GIT_HEAD_COMMIT@"
|
|
||||||
#define _GIT_DESCRIBE "@_GIT_DESCRIBE@"
|
|
||||||
#define BUILD_HOST "@BUILD_HOST_NAME@"
|
|
||||||
! #define FSAL_MODULE_LOC "/usr/@FSAL_DESTINATION@"
|
|
||||||
/* Build controls */
|
|
||||||
|
|
||||||
#cmakedefine _MSPAC_SUPPORT 1
|
|
@ -1,44 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/config_parsing/config_parsing.c.orig 2014-06-27 07:42:33.850133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/config_parsing/config_parsing.c 2014-06-27 09:59:59.758133273 -0400
|
|
||||||
***************
|
|
||||||
*** 1567,1573 ****
|
|
||||||
struct config_node *sub_node;
|
|
||||||
struct config_node *top;
|
|
||||||
struct expr_parse *expr, *expr_head;
|
|
||||||
! struct config_node_list *list = NULL, *list_tail;
|
|
||||||
char *ep;
|
|
||||||
int rc = EINVAL;
|
|
||||||
bool found = false;
|
|
||||||
--- 1567,1573 ----
|
|
||||||
struct config_node *sub_node;
|
|
||||||
struct config_node *top;
|
|
||||||
struct expr_parse *expr, *expr_head;
|
|
||||||
! struct config_node_list *list = NULL, *list_tail = NULL;
|
|
||||||
char *ep;
|
|
||||||
int rc = EINVAL;
|
|
||||||
bool found = false;
|
|
||||||
***************
|
|
||||||
*** 1599,1607 ****
|
|
||||||
list->tree_node = sub_node;
|
|
||||||
if (*node_list == NULL)
|
|
||||||
*node_list = list;
|
|
||||||
! else
|
|
||||||
list_tail->next = list;
|
|
||||||
! list_tail = list;
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
--- 1599,1611 ----
|
|
||||||
list->tree_node = sub_node;
|
|
||||||
if (*node_list == NULL)
|
|
||||||
*node_list = list;
|
|
||||||
! else if (list_tail != NULL)
|
|
||||||
list_tail->next = list;
|
|
||||||
! else {
|
|
||||||
! for (list_tail = (*node_list)->next;
|
|
||||||
! list_tail->next != NULL; )
|
|
||||||
! list_tail = list_tail->next;
|
|
||||||
! }
|
|
||||||
found = true;
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/Protocols/NFS/nfs4_op_secinfo.c.orig 2014-06-30 07:54:56.787133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/Protocols/NFS/nfs4_op_secinfo.c 2014-06-30 07:55:58.190133273 -0400
|
|
||||||
***************
|
|
||||||
*** 65,71 ****
|
|
||||||
cache_entry_t *entry_src = NULL;
|
|
||||||
sec_oid4 v5oid = { krb5oid.length, (char *)krb5oid.elements };
|
|
||||||
int num_entry = 0;
|
|
||||||
! struct export_perms save_export_perms;
|
|
||||||
struct gsh_export *saved_gsh_export = NULL;
|
|
||||||
|
|
||||||
resp->resop = NFS4_OP_SECINFO;
|
|
||||||
--- 65,71 ----
|
|
||||||
cache_entry_t *entry_src = NULL;
|
|
||||||
sec_oid4 v5oid = { krb5oid.length, (char *)krb5oid.elements };
|
|
||||||
int num_entry = 0;
|
|
||||||
! struct export_perms save_export_perms = {0,};
|
|
||||||
struct gsh_export *saved_gsh_export = NULL;
|
|
||||||
|
|
||||||
resp->resop = NFS4_OP_SECINFO;
|
|
@ -1,23 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/Protocols/NFS/nfs4_pseudo.c.orig 2014-06-27 10:14:43.556133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/Protocols/NFS/nfs4_pseudo.c 2014-06-27 10:17:10.928133273 -0400
|
|
||||||
***************
|
|
||||||
*** 385,393 ****
|
|
||||||
/* Now we need to process the rest of the path, creating directories
|
|
||||||
* if necessary.
|
|
||||||
*/
|
|
||||||
! for (tok = strtok_r(rest, "/", &saveptr);
|
|
||||||
! tok;
|
|
||||||
! tok = strtok_r(NULL, "/", &saveptr)) {
|
|
||||||
rc = make_pseudofs_node(tok, &state);
|
|
||||||
if (!rc) {
|
|
||||||
/* Release reference on mount point inode
|
|
||||||
--- 385,393 ----
|
|
||||||
/* Now we need to process the rest of the path, creating directories
|
|
||||||
* if necessary.
|
|
||||||
*/
|
|
||||||
! saveptr = NULL;
|
|
||||||
! tok = strtok_r(rest, "/", &saveptr);
|
|
||||||
! for (; tok; tok = strtok_r(NULL, "/", &saveptr)) {
|
|
||||||
rc = make_pseudofs_node(tok, &state);
|
|
||||||
if (!rc) {
|
|
||||||
/* Release reference on mount point inode
|
|
@ -1,21 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/SAL/state_lock.c.orig 2015-02-12 11:44:24.233718318 -0500
|
|
||||||
--- nfs-ganesha-2.1.0/src/SAL/state_lock.c 2015-02-12 11:45:06.679718318 -0500
|
|
||||||
***************
|
|
||||||
*** 611,618 ****
|
|
||||||
*
|
|
||||||
* @return New entry or NULL.
|
|
||||||
*/
|
|
||||||
! inline state_lock_entry_t *state_lock_entry_t_dup(state_lock_entry_t *
|
|
||||||
! orig_entry)
|
|
||||||
{
|
|
||||||
return create_state_lock_entry(orig_entry->sle_entry,
|
|
||||||
orig_entry->sle_export,
|
|
||||||
--- 611,618 ----
|
|
||||||
*
|
|
||||||
* @return New entry or NULL.
|
|
||||||
*/
|
|
||||||
! static inline state_lock_entry_t *state_lock_entry_t_dup(state_lock_entry_t *
|
|
||||||
! orig_entry)
|
|
||||||
{
|
|
||||||
return create_state_lock_entry(orig_entry->sle_entry,
|
|
||||||
orig_entry->sle_export,
|
|
@ -1,19 +0,0 @@
|
|||||||
*** nfs-ganesha-2.1.0/src/support/CMakeLists.txt.orig 2014-07-01 11:06:16.219133273 -0400
|
|
||||||
--- nfs-ganesha-2.1.0/src/support/CMakeLists.txt 2014-07-01 11:05:03.312133273 -0400
|
|
||||||
***************
|
|
||||||
*** 33,39 ****
|
|
||||||
uid2grp_cache.c
|
|
||||||
)
|
|
||||||
|
|
||||||
! add_library( uid2grp ${uid2grp_SRCS} )
|
|
||||||
|
|
||||||
########### next target ###############
|
|
||||||
|
|
||||||
--- 33,39 ----
|
|
||||||
uid2grp_cache.c
|
|
||||||
)
|
|
||||||
|
|
||||||
! add_library( uid2grp STATIC ${uid2grp_SRCS} )
|
|
||||||
|
|
||||||
########### next target ###############
|
|
||||||
|
|
@ -1,69 +0,0 @@
|
|||||||
--- nfs-ganesha-2.2.0/src/CMakeLists.txt.orig 2015-07-07 13:43:35.435240859 -0400
|
|
||||||
+++ nfs-ganesha-2.2.0/src/CMakeLists.txt 2015-07-07 13:48:51.917240859 -0400
|
|
||||||
@@ -716,9 +716,12 @@
|
|
||||||
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/portability_cmake_2.8 /usr/share/cmake/Modules ${CMAKE_MODULE_PATH})
|
|
||||||
endif( "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_LESS "2.8" )
|
|
||||||
|
|
||||||
+find_library(LIBNTIRPC ntirpc) # extended Pthreads functions
|
|
||||||
+
|
|
||||||
+set(CMAKE_C_FLAGS "-isystem /usr/include/ntirpc ${CMAKE_C_FLAGS}")
|
|
||||||
+
|
|
||||||
include_directories(
|
|
||||||
"${PROJECT_BINARY_DIR}/include"
|
|
||||||
- "${PROJECT_SOURCE_DIR}/libntirpc/ntirpc/"
|
|
||||||
"${PROJECT_SOURCE_DIR}/include"
|
|
||||||
"${OS_INCLUDE_DIR}"
|
|
||||||
"${KRB5_INCLUDE_DIRS}"
|
|
||||||
@@ -732,14 +735,13 @@
|
|
||||||
set(_USE_CB_SIMULATOR ON)
|
|
||||||
endif(USE_CB_SIMULATOR)
|
|
||||||
|
|
||||||
-
|
|
||||||
#callers add:
|
|
||||||
# target_link_libraries(your_library ${LIBTIRPC_LIBRARIES})
|
|
||||||
-set(LIBTIRPC_INCLUDE_DIR
|
|
||||||
- "${PROJECT_BINARY_DIR}/libtirpc/ntirpc"
|
|
||||||
- "${PROJECT_BINARY_DIR}/libtirpc/ntirpc/rpc"
|
|
||||||
-)
|
|
||||||
-set(LIBTIRPC_LIBRARIES "${PROJECT_BINARY_DIR}/libntirpc/src/libntirpc.a")
|
|
||||||
+#set(LIBTIRPC_INCLUDE_DIR
|
|
||||||
+# "${PROJECT_BINARY_DIR}/libtirpc/ntirpc"
|
|
||||||
+# "${PROJECT_BINARY_DIR}/libtirpc/ntirpc/rpc"
|
|
||||||
+#)
|
|
||||||
+#set(LIBTIRPC_LIBRARIES "${PROJECT_BINARY_DIR}/libntirpc/src/libntirpc.a")
|
|
||||||
|
|
||||||
# Find misc system libs
|
|
||||||
find_library(LIBRT rt) # extended Pthreads functions
|
|
||||||
@@ -867,6 +869,7 @@
|
|
||||||
${KRB5_LIBRARIES}
|
|
||||||
${CMAKE_THREAD_LIBS_INIT}
|
|
||||||
${LIBRT}
|
|
||||||
+ ${LIBNTIRPC}
|
|
||||||
)
|
|
||||||
|
|
||||||
# Config file; make sure it doesn't clobber an existing one
|
|
||||||
@@ -877,16 +880,6 @@
|
|
||||||
# pre-create PREFIX/var/run/ganesha
|
|
||||||
install(DIRECTORY DESTINATION ${SYSSTATEDIR}/run/ganesha)
|
|
||||||
|
|
||||||
-IF( NOT EXISTS ${PROJECT_SOURCE_DIR}/libntirpc/CMakeLists.txt )
|
|
||||||
-message( FATAL_ERROR
|
|
||||||
-"No CMakeLists.txt found in libntirpc
|
|
||||||
-This probably means that the directory was not properly populated.
|
|
||||||
-Please run the following command to do that and use cmake again:
|
|
||||||
- git submodule update --init
|
|
||||||
-Alternatively, if you are not using git, get the current version at
|
|
||||||
- https://github.com/nfs-ganesha/ntirpc" )
|
|
||||||
-ENDIF( NOT EXISTS ${PROJECT_SOURCE_DIR}/libntirpc/CMakeLists.txt )
|
|
||||||
-
|
|
||||||
add_subdirectory(log)
|
|
||||||
add_subdirectory(config_parsing)
|
|
||||||
add_subdirectory(cidr)
|
|
||||||
@@ -896,7 +889,6 @@
|
|
||||||
add_subdirectory(NodeList)
|
|
||||||
add_subdirectory(cache_inode)
|
|
||||||
add_subdirectory(SAL)
|
|
||||||
-add_subdirectory(libntirpc)
|
|
||||||
add_subdirectory(RPCAL)
|
|
||||||
add_subdirectory(Protocols)
|
|
||||||
add_subdirectory(support)
|
|
@ -1,11 +0,0 @@
|
|||||||
--- nfs-ganesha-2.3.2/src/include/nfsv41.h.org 2016-05-03 18:10:18.701170555 +0530
|
|
||||||
+++ nfs-ganesha-2.3.2/src/include/nfsv41.h 2016-05-03 18:10:35.175228434 +0530
|
|
||||||
@@ -3646,7 +3646,7 @@
|
|
||||||
return false;
|
|
||||||
/* skip any further elements and lie on bitmap len */
|
|
||||||
for (i = mapsize; i < objp->bitmap4_len; i++) {
|
|
||||||
- u_int crud;
|
|
||||||
+ u_int crud = 0;
|
|
||||||
|
|
||||||
if (!inline_xdr_u_int32_t(xdrs, &crud))
|
|
||||||
return false;
|
|
105
nfs-ganesha.init
105
nfs-ganesha.init
@ -1,105 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# glusterd Startup script for the Ganesha NFS server
|
|
||||||
#
|
|
||||||
# chkconfig: - 20 80
|
|
||||||
# description: NFSv4 file-system server
|
|
||||||
|
|
||||||
### BEGIN INIT INFO
|
|
||||||
# Provides: nfs-ganesha
|
|
||||||
# Required-Start: $local_fs $network
|
|
||||||
# Required-Stop: $local_fs $network
|
|
||||||
# Should-Start:
|
|
||||||
# Should-Stop:
|
|
||||||
# Default-Start:
|
|
||||||
# Default-Stop: 0 1 2 3 4 5 6
|
|
||||||
# Short-Description: Ganesha NFS server
|
|
||||||
# Description: NFSv4 file-system server
|
|
||||||
### END INIT INFO
|
|
||||||
|
|
||||||
# Source function library.
|
|
||||||
. /etc/rc.d/init.d/functions
|
|
||||||
|
|
||||||
exe="/usr/sbin/nfs-ganesha.sh"
|
|
||||||
prog="nfs-ganesha"
|
|
||||||
|
|
||||||
# Fedora File System Layout dictates /run
|
|
||||||
[ -e /run ] && RUNDIR="/run"
|
|
||||||
pidf="${RUNDIR:-/var/run}/$prog.pid"
|
|
||||||
|
|
||||||
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
|
|
||||||
|
|
||||||
lockfile=/var/lock/subsys/$prog
|
|
||||||
|
|
||||||
start() {
|
|
||||||
[ -x $exe ] || exit 5
|
|
||||||
echo -n $"Starting $prog: "
|
|
||||||
daemon $exe
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && touch $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
|
|
||||||
stop() {
|
|
||||||
echo -n $"Stopping $prog: "
|
|
||||||
killproc $prog
|
|
||||||
retval=$?
|
|
||||||
echo
|
|
||||||
[ $retval -eq 0 ] && rm -f $lockfile
|
|
||||||
return $retval
|
|
||||||
}
|
|
||||||
|
|
||||||
restart() {
|
|
||||||
stop
|
|
||||||
start
|
|
||||||
}
|
|
||||||
|
|
||||||
reload() {
|
|
||||||
restart
|
|
||||||
}
|
|
||||||
|
|
||||||
force_reload() {
|
|
||||||
restart
|
|
||||||
}
|
|
||||||
|
|
||||||
rh_status() {
|
|
||||||
status $prog
|
|
||||||
}
|
|
||||||
|
|
||||||
rh_status_q() {
|
|
||||||
rh_status &>/dev/null
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
case "$1" in
|
|
||||||
start)
|
|
||||||
rh_status_q && exit 0
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
stop)
|
|
||||||
rh_status_q || exit 0
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
restart)
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
reload)
|
|
||||||
rh_status_q || exit 7
|
|
||||||
$1
|
|
||||||
;;
|
|
||||||
force-reload)
|
|
||||||
force_reload
|
|
||||||
;;
|
|
||||||
status)
|
|
||||||
rh_status
|
|
||||||
;;
|
|
||||||
condrestart|try-restart)
|
|
||||||
rh_status_q || exit 0
|
|
||||||
restart
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
|
|
||||||
exit 2
|
|
||||||
esac
|
|
||||||
exit $?
|
|
@ -1,12 +0,0 @@
|
|||||||
[Unit]
|
|
||||||
Description=User-mode file server for NFS
|
|
||||||
Documentation=https://github.com/nfs-ganesha/nfs-ganesha/wiki
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
ExecStart=/usr/bin/ganesha.nfsd
|
|
||||||
Type=forking
|
|
||||||
PIDFile=/var/run/ganesha.pid
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
|
|
802
nfs-ganesha.spec
802
nfs-ganesha.spec
@ -1,802 +0,0 @@
|
|||||||
|
|
||||||
%global _hardened_build 1
|
|
||||||
|
|
||||||
%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
|
|
||||||
%global with_nfsidmap 1
|
|
||||||
%else
|
|
||||||
%global with_nfsidmap 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if ( 0%{?fedora} >= 18 || 0%{?rhel} >= 7 )
|
|
||||||
%global with_systemd 1
|
|
||||||
%else
|
|
||||||
%global with_systemd 0
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Conditionally enable some FSALs, disable others.
|
|
||||||
#
|
|
||||||
# 1. rpmbuild accepts these options (gpfs as example):
|
|
||||||
# --with gpfs
|
|
||||||
# --without gpfs
|
|
||||||
|
|
||||||
%define on_off_switch() %%{?with_%1:ON}%%{!?with_%1:OFF}
|
|
||||||
|
|
||||||
# A few explanation about %%bcond_with and %%bcond_without
|
|
||||||
# /!\ be careful: this syntax can be quite messy
|
|
||||||
# %%bcond_with means you add a "--with" option, default = without this feature
|
|
||||||
# %%bcond_without adds a"--without" so the feature is enabled by default
|
|
||||||
|
|
||||||
%bcond_without nullfs
|
|
||||||
%global use_fsal_null %{on_off_switch nullfs}
|
|
||||||
|
|
||||||
%bcond_with gpfs
|
|
||||||
%global use_fsal_gpfs %{on_off_switch gpfs}
|
|
||||||
|
|
||||||
%bcond_without xfs
|
|
||||||
%global use_fsal_xfs %{on_off_switch xfs}
|
|
||||||
|
|
||||||
%bcond_with ceph
|
|
||||||
%global use_fsal_ceph %{on_off_switch ceph}
|
|
||||||
|
|
||||||
%bcond_with lustre
|
|
||||||
%global use_fsal_lustre %{on_off_switch lustre}
|
|
||||||
|
|
||||||
%bcond_with shook
|
|
||||||
%global use_fsal_shook %{on_off_switch shook}
|
|
||||||
|
|
||||||
%bcond_with gluster
|
|
||||||
%global use_fsal_gluster %{on_off_switch gluster}
|
|
||||||
|
|
||||||
%bcond_with hpss
|
|
||||||
%global use_fsal_hpss %{on_off_switch hpss}
|
|
||||||
|
|
||||||
%bcond_with panfs
|
|
||||||
%global use_fsal_panfs %{on_off_switch panfs}
|
|
||||||
|
|
||||||
%bcond_with pt
|
|
||||||
%global use_fsal_pt %{on_off_switch pt}
|
|
||||||
|
|
||||||
%bcond_with rdma
|
|
||||||
%global use_rdma %{on_off_switch rdma}
|
|
||||||
|
|
||||||
%bcond_without jemalloc
|
|
||||||
|
|
||||||
%bcond_with lustre_up
|
|
||||||
%global use_lustre_up %{on_off_switch lustre_up}
|
|
||||||
|
|
||||||
%bcond_with lttng
|
|
||||||
%global use_lttng %{on_off_switch lttng}
|
|
||||||
|
|
||||||
%bcond_without utils
|
|
||||||
%global use_utils %{on_off_switch utils}
|
|
||||||
|
|
||||||
%bcond_without gui_utils
|
|
||||||
%global use_gui_utils %{on_off_switch gui_utils}
|
|
||||||
|
|
||||||
%bcond_without system_ntirpc
|
|
||||||
%global use_system_ntirpc %{on_off_switch system_ntirpc}
|
|
||||||
|
|
||||||
%global dev_version %{lua: extraver = string.gsub('', '%-', '.'); print(extraver) }
|
|
||||||
|
|
||||||
Name: nfs-ganesha
|
|
||||||
Version: 2.3.2
|
|
||||||
Release: 1%{?dev_version:%{dev_version}}%{?dist}
|
|
||||||
Summary: NFS Server running in user space
|
|
||||||
Group: Applications/System
|
|
||||||
License: LGPLv3+
|
|
||||||
Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki
|
|
||||||
|
|
||||||
Source0: https://github.com/%{name}/%{name}/archive/V%{version}/%{name}-%{version}%{dev_version}.tar.gz
|
|
||||||
Patch01: nfs-ganesha-2.3.2-fix-unintialized-variable-crud.patch
|
|
||||||
|
|
||||||
BuildRequires: cmake
|
|
||||||
BuildRequires: bison
|
|
||||||
BuildRequires: flex
|
|
||||||
BuildRequires: pkgconfig
|
|
||||||
BuildRequires: krb5-devel
|
|
||||||
BuildRequires: dbus-devel
|
|
||||||
BuildRequires: libcap-devel
|
|
||||||
BuildRequires: libblkid-devel
|
|
||||||
BuildRequires: libuuid-devel
|
|
||||||
%if %{with system_ntirpc}
|
|
||||||
BuildRequires: libntirpc-devel >= 1.3.1
|
|
||||||
%endif
|
|
||||||
Requires: dbus
|
|
||||||
Requires: nfs-utils
|
|
||||||
%if ( 0%{?fedora} ) || ( 0%{?rhel} && 0%{?rhel} >= 6 )
|
|
||||||
Requires: rpcbind
|
|
||||||
%else
|
|
||||||
Requires: portmap
|
|
||||||
%endif
|
|
||||||
%if %{with_nfsidmap}
|
|
||||||
BuildRequires: libnfsidmap-devel
|
|
||||||
%else
|
|
||||||
BuildRequires: nfs-utils-lib-devel
|
|
||||||
%endif
|
|
||||||
%if %{with rdma}
|
|
||||||
BuildRequires: libmooshika-devel >= 0.6-0
|
|
||||||
%endif
|
|
||||||
%if %{with jemalloc}
|
|
||||||
BuildRequires: jemalloc-devel
|
|
||||||
%endif
|
|
||||||
%if %{with lustre_up}
|
|
||||||
BuildRequires: lcap-devel >= 0.1-0
|
|
||||||
%endif
|
|
||||||
%if %{with_systemd}
|
|
||||||
BuildRequires: systemd
|
|
||||||
Requires(post): systemd
|
|
||||||
Requires(preun): systemd
|
|
||||||
Requires(postun): systemd
|
|
||||||
%else
|
|
||||||
BuildRequires: initscripts
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Use CMake variables
|
|
||||||
|
|
||||||
%description
|
|
||||||
nfs-ganesha : NFS-GANESHA is a NFS Server running in user space.
|
|
||||||
It comes with various back-end modules (called FSALs) provided as
|
|
||||||
shared objects to support different file systems and name-spaces.
|
|
||||||
|
|
||||||
%package mount-9P
|
|
||||||
Summary: a 9p mount helper
|
|
||||||
Group: Applications/System
|
|
||||||
|
|
||||||
%description mount-9P
|
|
||||||
This package contains the mount.9P script that clients can use
|
|
||||||
to simplify mounting to NFS-GANESHA. This is a 9p mount helper.
|
|
||||||
|
|
||||||
%package vfs
|
|
||||||
Summary: The NFS-GANESHA's VFS FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
BuildRequires: libattr-devel
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
%description vfs
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support VFS based filesystems
|
|
||||||
|
|
||||||
%package proxy
|
|
||||||
Summary: The NFS-GANESHA's PROXY FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
BuildRequires: libattr-devel
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
%description proxy
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support PROXY based filesystems
|
|
||||||
|
|
||||||
%if %{with utils}
|
|
||||||
%package utils
|
|
||||||
Summary: The NFS-GANESHA's util scripts
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: dbus-python, pygobject2
|
|
||||||
%if %{with gui_utils}
|
|
||||||
BuildRequires: PyQt4-devel
|
|
||||||
Requires: PyQt4
|
|
||||||
%endif
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}, python
|
|
||||||
|
|
||||||
%description utils
|
|
||||||
This package contains utility scripts for managing the NFS-GANESHA server
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with lttng}
|
|
||||||
%package lttng
|
|
||||||
Summary: The NFS-GANESHA's library for use with LTTng
|
|
||||||
Group: Applications/System
|
|
||||||
BuildRequires: lttng-ust-devel >= 2.3
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}, lttng-tools >= 2.3, lttng-ust >= 2.3
|
|
||||||
|
|
||||||
%description lttng
|
|
||||||
This package contains the libganesha_trace.so library. When preloaded
|
|
||||||
to the ganesha.nfsd server, it makes it possible to trace using LTTng.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# Option packages start here. use "rpmbuild --with lustre" (or equivalent)
|
|
||||||
# for activating this part of the spec file
|
|
||||||
|
|
||||||
# NULL
|
|
||||||
%if %{with nullfs}
|
|
||||||
%package nullfs
|
|
||||||
Summary: The NFS-GANESHA's NULLFS Stackable FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
%description nullfs
|
|
||||||
This package contains a Stackable FSAL shared object to
|
|
||||||
be used with NFS-Ganesha. This is mostly a template for future (more sophisticated) stackable FSALs
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# GPFS
|
|
||||||
%if %{with gpfs}
|
|
||||||
%package gpfs
|
|
||||||
Summary: The NFS-GANESHA's GPFS FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
%description gpfs
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support GPFS backend
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# CEPH
|
|
||||||
%if %{with ceph}
|
|
||||||
%package ceph
|
|
||||||
Summary: The NFS-GANESHA's CEPH FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
Requires: ceph >= 0.78
|
|
||||||
BuildRequires: ceph-devel >= 0.78
|
|
||||||
|
|
||||||
%description ceph
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support CEPH
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# LUSTRE
|
|
||||||
%if %{with lustre}
|
|
||||||
%package lustre
|
|
||||||
Summary: The NFS-GANESHA's LUSTRE FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
Requires: lustre
|
|
||||||
BuildRequires: libattr-devel lustre
|
|
||||||
|
|
||||||
%description lustre
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support LUSTRE
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# SHOOK
|
|
||||||
%if %{with shook}
|
|
||||||
%package shook
|
|
||||||
Summary: The NFS-GANESHA's LUSTRE/SHOOK FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
Requires: lustre shook-client
|
|
||||||
BuildRequires: libattr-devel lustre shook-devel
|
|
||||||
|
|
||||||
%description shook
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support LUSTRE via SHOOK
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# XFS
|
|
||||||
%if %{with xfs}
|
|
||||||
%package xfs
|
|
||||||
Summary: The NFS-GANESHA's XFS FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
BuildRequires: libattr-devel xfsprogs-devel
|
|
||||||
|
|
||||||
%description xfs
|
|
||||||
This package contains a shared object to be used with FSAL_VFS
|
|
||||||
to support XFS correctly
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# HPSS
|
|
||||||
%if %{with hpss}
|
|
||||||
%package hpss
|
|
||||||
Summary: The NFS-GANESHA's HPSS FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
#BuildRequires: hpssfs
|
|
||||||
|
|
||||||
%description hpss
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support HPSS
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# PANFS
|
|
||||||
%if %{with panfs}
|
|
||||||
%package panfs
|
|
||||||
Summary: The NFS-GANESHA's PANFS FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
%description panfs
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support PANFS
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# PT
|
|
||||||
%if %{with pt}
|
|
||||||
%package pt
|
|
||||||
Summary: The NFS-GANESHA's PT FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
|
|
||||||
|
|
||||||
%description pt
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support PT
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# GLUSTER
|
|
||||||
%if %{with gluster}
|
|
||||||
%package gluster
|
|
||||||
Summary: The NFS-GANESHA's GLUSTER FSAL
|
|
||||||
Group: Applications/System
|
|
||||||
Requires: nfs-ganesha = %{version}-%{release}
|
|
||||||
BuildRequires: glusterfs-api-devel >= 3.7.4
|
|
||||||
BuildRequires: libattr-devel, libacl-devel
|
|
||||||
|
|
||||||
%description gluster
|
|
||||||
This package contains a FSAL shared object to
|
|
||||||
be used with NFS-Ganesha to support Gluster
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
|
||||||
%setup -q -n %{name}-%{version}%{dev_version}
|
|
||||||
rm -rf contrib/libzfswrapper
|
|
||||||
%patch01 -p1
|
|
||||||
|
|
||||||
%build
|
|
||||||
cd src && %cmake . -DCMAKE_BUILD_TYPE=Debug \
|
|
||||||
-DBUILD_CONFIG=rpmbuild \
|
|
||||||
-DUSE_FSAL_NULL=%{use_fsal_null} \
|
|
||||||
-DUSE_FSAL_ZFS=NO \
|
|
||||||
-DUSE_FSAL_XFS=%{use_fsal_xfs} \
|
|
||||||
-DUSE_FSAL_CEPH=%{use_fsal_ceph} \
|
|
||||||
-DUSE_FSAL_LUSTRE=%{use_fsal_lustre} \
|
|
||||||
-DUSE_FSAL_SHOOK=%{use_fsal_shook} \
|
|
||||||
-DUSE_FSAL_GPFS=%{use_fsal_gpfs} \
|
|
||||||
-DUSE_FSAL_HPSS=%{use_fsal_hpss} \
|
|
||||||
-DUSE_FSAL_PANFS=%{use_fsal_panfs} \
|
|
||||||
-DUSE_FSAL_PT=%{use_fsal_pt} \
|
|
||||||
-DUSE_FSAL_GLUSTER=%{use_fsal_gluster} \
|
|
||||||
-DUSE_SYSTEM_NTIRPC=%{use_system_ntirpc} \
|
|
||||||
-DUSE_9P_RDMA=%{use_rdma} \
|
|
||||||
-DUSE_FSAL_LUSTRE_UP=%{use_lustre_up} \
|
|
||||||
-DUSE_LTTNG=%{use_lttng} \
|
|
||||||
-DUSE_ADMIN_TOOLS=%{use_utils} \
|
|
||||||
-DUSE_GUI_ADMIN_TOOLS=%{use_gui_utils} \
|
|
||||||
-DUSE_FSAL_VFS=ON \
|
|
||||||
-DUSE_FSAL_PROXY=ON \
|
|
||||||
-DUSE_DBUS=ON \
|
|
||||||
-DUSE_9P=ON \
|
|
||||||
-DDISTNAME_HAS_GIT_DATA=OFF \
|
|
||||||
%if %{with jemalloc}
|
|
||||||
-DALLOCATOR=jemalloc
|
|
||||||
%endif
|
|
||||||
|
|
||||||
make %{?_smp_mflags} || make %{?_smp_mflags} || make
|
|
||||||
|
|
||||||
%install
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/ganesha/
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d
|
|
||||||
mkdir -p %{buildroot}%{_bindir}
|
|
||||||
mkdir -p %{buildroot}%{_sbindir}
|
|
||||||
mkdir -p %{buildroot}%{_libdir}/ganesha
|
|
||||||
mkdir -p %{buildroot}%{_localstatedir}/run/ganesha
|
|
||||||
mkdir -p %{buildroot}%{_libexecdir}/ganesha
|
|
||||||
cd src
|
|
||||||
install -m 644 config_samples/logrotate_ganesha %{buildroot}%{_sysconfdir}/logrotate.d/ganesha
|
|
||||||
install -m 644 scripts/ganeshactl/org.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d
|
|
||||||
install -m 755 scripts/nfs-ganesha-config.sh %{buildroot}%{_libexecdir}/ganesha
|
|
||||||
install -m 755 tools/mount.9P %{buildroot}%{_sbindir}/mount.9P
|
|
||||||
|
|
||||||
install -m 644 config_samples/vfs.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
|
|
||||||
%if %{with_systemd}
|
|
||||||
mkdir -p %{buildroot}%{_unitdir}
|
|
||||||
install -m 644 scripts/systemd/nfs-ganesha.service %{buildroot}%{_unitdir}/nfs-ganesha.service
|
|
||||||
install -m 644 scripts/systemd/nfs-ganesha-lock.service %{buildroot}%{_unitdir}/nfs-ganesha-lock.service
|
|
||||||
install -m 644 scripts/systemd/nfs-ganesha-config.service %{buildroot}%{_unitdir}/nfs-ganesha-config.service
|
|
||||||
install -m 644 scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha
|
|
||||||
%else
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/init.d
|
|
||||||
install -m 755 scripts/init.d/nfs-ganesha %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha
|
|
||||||
install -m 644 scripts/init.d/sysconfig/ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with utils} && 0%{?rhel} && 0%{?rhel} <= 6
|
|
||||||
%{!?__python2: %global __python2 /usr/bin/python2}
|
|
||||||
%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
|
|
||||||
%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with pt}
|
|
||||||
install -m 644 config_samples/pt.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with xfs}
|
|
||||||
install -m 644 config_samples/xfs.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with ceph}
|
|
||||||
install -m 644 config_samples/ceph.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with lustre}
|
|
||||||
install -m 755 config_samples/lustre.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with gpfs}
|
|
||||||
install -m 644 config_samples/gpfs.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
install -m 644 config_samples/gpfs.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
install -m 644 config_samples/gpfs.ganesha.main.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
install -m 644 config_samples/gpfs.ganesha.log.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
install -m 644 config_samples/gpfs.ganesha.exports.conf %{buildroot}%{_sysconfdir}/ganesha
|
|
||||||
%if ! %{with_systemd}
|
|
||||||
mkdir -p %{buildroot}%{_sysconfdir}/init.d
|
|
||||||
install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha-gpfs
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
make DESTDIR=%{buildroot} install
|
|
||||||
|
|
||||||
install -m 644 ChangeLog %{buildroot}%{_defaultdocdir}/ganesha
|
|
||||||
|
|
||||||
%post
|
|
||||||
%if %{with_systemd}
|
|
||||||
%systemd_post nfs-ganesha.service
|
|
||||||
%systemd_post nfs-ganesha-lock.service
|
|
||||||
%systemd_post nfs-ganesha-config.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%preun
|
|
||||||
%if %{with_systemd}
|
|
||||||
%systemd_preun nfs-ganesha-lock.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%postun
|
|
||||||
%if %{with_systemd}
|
|
||||||
%systemd_postun_with_restart nfs-ganesha-lock.service
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files
|
|
||||||
%{!?_licensedir:%global license %%doc}
|
|
||||||
%license src/LICENSE.txt
|
|
||||||
%{_bindir}/ganesha.nfsd
|
|
||||||
%if ! %{with system_ntirpc}
|
|
||||||
%{_libdir}/libntirpc.so.1.3.0
|
|
||||||
%{_libdir}/libntirpc.so.1.3
|
|
||||||
%{_libdir}/libntirpc.so
|
|
||||||
%{_libdir}/pkgconfig/libntirpc.pc
|
|
||||||
%{_includedir}/ntirpc/
|
|
||||||
%endif
|
|
||||||
%config %{_sysconfdir}/dbus-1/system.d/org.ganesha.nfsd.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/sysconfig/ganesha
|
|
||||||
%config(noreplace) %{_sysconfdir}/logrotate.d/ganesha
|
|
||||||
%dir %{_sysconfdir}/ganesha/
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/ganesha.conf
|
|
||||||
%dir %{_defaultdocdir}/ganesha/
|
|
||||||
%{_defaultdocdir}/ganesha/*
|
|
||||||
%doc %{_defaultdocdir}/ganesha/ChangeLog
|
|
||||||
%dir %{_localstatedir}/run/ganesha
|
|
||||||
%{_libexecdir}/ganesha/nfs-ganesha-config.sh
|
|
||||||
|
|
||||||
%if %{with_systemd}
|
|
||||||
%{_unitdir}/nfs-ganesha.service
|
|
||||||
%{_unitdir}/nfs-ganesha-lock.service
|
|
||||||
%{_unitdir}/nfs-ganesha-config.service
|
|
||||||
%else
|
|
||||||
%{_sysconfdir}/init.d/nfs-ganesha
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%files mount-9P
|
|
||||||
%{_sbindir}/mount.9P
|
|
||||||
|
|
||||||
|
|
||||||
%files vfs
|
|
||||||
%{_libdir}/ganesha/libfsalvfs*
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/vfs.conf
|
|
||||||
|
|
||||||
|
|
||||||
%files proxy
|
|
||||||
%{_libdir}/ganesha/libfsalproxy*
|
|
||||||
|
|
||||||
# Optional packages
|
|
||||||
%if %{with nullfs}
|
|
||||||
%files nullfs
|
|
||||||
%{_libdir}/ganesha/libfsalnull*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with gpfs}
|
|
||||||
%files gpfs
|
|
||||||
%{_libdir}/ganesha/libfsalgpfs*
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/gpfs.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.nfsd.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.main.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.log.conf
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.exports.conf
|
|
||||||
%if ! %{with_systemd}
|
|
||||||
%{_sysconfdir}/init.d/nfs-ganesha-gpfs
|
|
||||||
%endif
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with xfs}
|
|
||||||
%files xfs
|
|
||||||
%{_libdir}/ganesha/libfsalxfs*
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/xfs.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with ceph}
|
|
||||||
%files ceph
|
|
||||||
%{_libdir}/ganesha/libfsalceph*
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/ceph.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with lustre}
|
|
||||||
%files lustre
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/lustre.conf
|
|
||||||
%{_libdir}/ganesha/libfsallustre*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with shook}
|
|
||||||
%files shook
|
|
||||||
%{_libdir}/ganesha/libfsalshook*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with gluster}
|
|
||||||
%files gluster
|
|
||||||
%{_libdir}/ganesha/libfsalgluster*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with hpss}
|
|
||||||
%files hpss
|
|
||||||
%{_libdir}/ganesha/libfsalhpss*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with panfs}
|
|
||||||
%files panfs
|
|
||||||
%{_libdir}/ganesha/libfsalpanfs*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with pt}
|
|
||||||
%files pt
|
|
||||||
%{_libdir}/ganesha/libfsalpt*
|
|
||||||
%config(noreplace) %{_sysconfdir}/ganesha/pt.conf
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with lttng}
|
|
||||||
%files lttng
|
|
||||||
%{_libdir}/ganesha/libganesha_trace*
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%if %{with utils}
|
|
||||||
%files utils
|
|
||||||
%{python2_sitelib}/Ganesha/*
|
|
||||||
%{python2_sitelib}/ganeshactl-*-info
|
|
||||||
%if %{with gui_utils}
|
|
||||||
%{_bindir}/ganesha-admin
|
|
||||||
%{_bindir}/manage_clients
|
|
||||||
%{_bindir}/manage_exports
|
|
||||||
%{_bindir}/manage_logger
|
|
||||||
%{_bindir}/ganeshactl
|
|
||||||
%{_bindir}/client_stats_9pOps
|
|
||||||
%{_bindir}/export_stats_9pOps
|
|
||||||
%endif
|
|
||||||
%{_bindir}/fake_recall
|
|
||||||
%{_bindir}/get_clientids
|
|
||||||
%{_bindir}/grace_period
|
|
||||||
%{_bindir}/purge_gids
|
|
||||||
%{_bindir}/ganesha_stats
|
|
||||||
%{_bindir}/sm_notify.ganesha
|
|
||||||
%{_bindir}/ganesha_mgr
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
|
||||||
* Mon May 02 2016 Jiffin Tony Thottan <jthottan at redhat.com> 2.3.2-1
|
|
||||||
- 2.3.2 GA
|
|
||||||
|
|
||||||
* Wed Apr 6 2016 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.1-4
|
|
||||||
- w/ fsal_xfs
|
|
||||||
|
|
||||||
* Wed Mar 30 2016 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.1-3
|
|
||||||
- w/ nfs-ganesha-config.service
|
|
||||||
|
|
||||||
* Wed Mar 16 2016 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.1-2
|
|
||||||
- 2.3.1 GA, again
|
|
||||||
|
|
||||||
* Wed Mar 16 2016 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.1-1
|
|
||||||
- 2.3.1 GA
|
|
||||||
|
|
||||||
* Wed Oct 28 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-1
|
|
||||||
- 2.3.0 GA
|
|
||||||
|
|
||||||
* Tue Oct 27 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.15rc8
|
|
||||||
- 2.3.0 RC8, rebuild with libntirpc-1.3.1, again
|
|
||||||
|
|
||||||
* Mon Oct 26 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.14rc8
|
|
||||||
- 2.3.0 RC8, rebuild with libntirpc-1.3.1
|
|
||||||
|
|
||||||
* Sun Oct 25 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.13rc8
|
|
||||||
- 2.3.0 RC8
|
|
||||||
|
|
||||||
* Thu Oct 22 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.12rc7
|
|
||||||
- 2.3.0 RC7 (N.B. 2.3.0-0.11rc6 was really rc7)
|
|
||||||
|
|
||||||
* Mon Oct 19 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.11rc7
|
|
||||||
- 2.3.0 RC7
|
|
||||||
|
|
||||||
* Mon Oct 12 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.10rc6
|
|
||||||
- 2.3.0 RC6
|
|
||||||
|
|
||||||
* Thu Oct 8 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.9rc5
|
|
||||||
- 2.3.0 RC5 w/ CMakeLists.txt.patch and config-h.in.cmake.patch
|
|
||||||
|
|
||||||
* Wed Oct 7 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.8rc5
|
|
||||||
- 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha
|
|
||||||
|
|
||||||
* Tue Oct 6 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.7rc5
|
|
||||||
- 2.3.0 RC5 revised scripts/ganeshactl/CMakeLists.txt.patch
|
|
||||||
|
|
||||||
* Mon Oct 5 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.6rc5
|
|
||||||
- 2.3.0 RC5
|
|
||||||
|
|
||||||
* Mon Sep 28 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.5rc4
|
|
||||||
- 2.3.0 RC4
|
|
||||||
|
|
||||||
* Fri Sep 18 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.4rc3
|
|
||||||
- 2.3.0 RC3
|
|
||||||
|
|
||||||
* Fri Sep 11 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.3rc2
|
|
||||||
- 2.3.0 RC2
|
|
||||||
|
|
||||||
* Fri Sep 11 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.2rc1
|
|
||||||
- 2.3.0 RC1, revised .../SAL/nfs4_state_id.c.patch
|
|
||||||
|
|
||||||
* Wed Sep 9 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.3.0-0.1rc1
|
|
||||||
- 2.3.0 RC1
|
|
||||||
|
|
||||||
* Sat Aug 29 2015 Niels de Vos <ndevos@redhat.com> 2.2.0-6
|
|
||||||
- Rebuilt for jemalloc SONAME bump
|
|
||||||
|
|
||||||
* Fri Jul 17 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-5
|
|
||||||
- BuildRequires: libntirprc on base
|
|
||||||
|
|
||||||
* Fri Jul 17 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-4
|
|
||||||
- link with unbundled, shared libntirpc
|
|
||||||
|
|
||||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.0-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed May 27 2015 Niels de Vos <ndevos@redhat.com>
|
|
||||||
- improve readability and allow "rpmbuild --with .." options again
|
|
||||||
|
|
||||||
* Fri May 15 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-2
|
|
||||||
- %%license, build with glusterfs-3.7.0 GA
|
|
||||||
|
|
||||||
* Tue Apr 21 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-1
|
|
||||||
- 2.2.0 GA
|
|
||||||
|
|
||||||
* Mon Apr 20 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.13rc-final
|
|
||||||
- 2.2.0-0.13rc-final
|
|
||||||
|
|
||||||
* Mon Apr 13 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.12rc8
|
|
||||||
- 2.2.0-0.12rc8
|
|
||||||
|
|
||||||
* Mon Apr 6 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.11rc7
|
|
||||||
- 2.2.0-0.11rc7
|
|
||||||
|
|
||||||
* Thu Apr 2 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.10rc6
|
|
||||||
- 2.2.0-0.10rc6, with unbundled libntirpc
|
|
||||||
|
|
||||||
* Mon Mar 30 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.9rc6
|
|
||||||
- 2.2.0-0.9rc6
|
|
||||||
|
|
||||||
* Sun Mar 22 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.8rc5
|
|
||||||
- 2.2.0-0.8rc5
|
|
||||||
|
|
||||||
* Tue Mar 17 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.7rc4
|
|
||||||
- ntirpc-1.2.1.tar.gz
|
|
||||||
|
|
||||||
* Tue Mar 17 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.6rc4
|
|
||||||
- updated ntirpc-1.2.0.tar.gz
|
|
||||||
|
|
||||||
* Sun Mar 15 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.5rc4
|
|
||||||
- 2.2.0-0.5rc4
|
|
||||||
|
|
||||||
* Mon Feb 23 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.4rc3
|
|
||||||
- 2.2.0-0.4rc3
|
|
||||||
|
|
||||||
* Mon Feb 16 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.3rc2
|
|
||||||
- subpackage Requires: nfs-ganesha = %%{version}-%%{release}
|
|
||||||
|
|
||||||
* Mon Feb 16 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.2rc2
|
|
||||||
- 2.2.0-0.2rc2
|
|
||||||
|
|
||||||
* Fri Feb 13 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.2.0-0.1rc1
|
|
||||||
- 2.2.0-0.1rc1
|
|
||||||
- nfs-ganesha.spec based on upstream
|
|
||||||
|
|
||||||
* Thu Feb 12 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-14
|
|
||||||
- Fedora 23/rawhide build fixes
|
|
||||||
- Ceph restored in EPEL
|
|
||||||
|
|
||||||
* Mon Jan 19 2015 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-13
|
|
||||||
- Ceph retired from EPEL 7
|
|
||||||
|
|
||||||
* Thu Nov 6 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-12
|
|
||||||
- rebuild after libnfsidmap symbol version revert
|
|
||||||
|
|
||||||
* Wed Oct 29 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-11
|
|
||||||
- PyQt -> PyQt4 typo
|
|
||||||
|
|
||||||
* Mon Oct 27 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-10
|
|
||||||
- use upstream init.d script
|
|
||||||
|
|
||||||
* Thu Oct 2 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-9
|
|
||||||
- restore exclusion of gluster gfapi on rhel
|
|
||||||
|
|
||||||
* Thu Oct 2 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-8
|
|
||||||
- install /etc/dbus-1/system.d/org.ganesha.nfsd.conf
|
|
||||||
- build and install admin tools
|
|
||||||
|
|
||||||
* Mon Sep 29 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-7
|
|
||||||
- install /etc/sysconfig/nfs-ganesha file
|
|
||||||
|
|
||||||
* Fri Aug 29 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com>
|
|
||||||
- Ceph FSAL typo, #1135437
|
|
||||||
|
|
||||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.0-6
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jul 24 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-5
|
|
||||||
- use upstream nfs-ganesha.service
|
|
||||||
|
|
||||||
* Fri Jul 11 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-4
|
|
||||||
- keep fsal .so files, implementation now uses them
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-3
|
|
||||||
- static libuid2grp
|
|
||||||
|
|
||||||
* Tue Jul 1 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-2
|
|
||||||
- add libuid2grp.so
|
|
||||||
|
|
||||||
* Mon Jun 30 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.1.0-1
|
|
||||||
- nfs-ganesha-2.1.0 GA
|
|
||||||
|
|
||||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.0.0-10
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
|
||||||
|
|
||||||
* Mon Jun 2 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-9
|
|
||||||
- Ceph FSAL enabled with ceph-0.80
|
|
||||||
|
|
||||||
* Wed May 21 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-8
|
|
||||||
- getdents()->getdents64(), struct dirent -> struct dirent64
|
|
||||||
|
|
||||||
* Sat May 10 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com>
|
|
||||||
- and exclude libfsalceph
|
|
||||||
|
|
||||||
* Sat May 10 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com>
|
|
||||||
- exclude libfsalgluster correctly
|
|
||||||
|
|
||||||
* Fri May 9 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-7
|
|
||||||
- Ceph FSAL, in a subpackage, (but requires ceph >= 0.78)
|
|
||||||
|
|
||||||
* Mon Mar 31 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com>
|
|
||||||
- GlusterFS FSAL in a subpackage
|
|
||||||
- EPEL7 has jemalloc as of 2014-02-25
|
|
||||||
|
|
||||||
* Tue Jan 21 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com>
|
|
||||||
- sussed out github archive so as to allow correct Source0
|
|
||||||
|
|
||||||
* Fri Jan 17 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-6
|
|
||||||
- EPEL7 and xfsprogs
|
|
||||||
|
|
||||||
* Fri Jan 17 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-5
|
|
||||||
- EPEL7
|
|
||||||
|
|
||||||
* Mon Jan 6 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-4
|
|
||||||
- with glusterfs-api(-devel) >= 3.4.2
|
|
||||||
|
|
||||||
* Sat Jan 4 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-3
|
|
||||||
- with glusterfs-api
|
|
||||||
|
|
||||||
* Thu Jan 2 2014 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-2
|
|
||||||
- Build on RHEL6. Add sample init.d script
|
|
||||||
|
|
||||||
* Wed Dec 11 2013 Jim Lieb <lieb@sea-troll.net> - 2.0.0-1
|
|
||||||
- Update to V2.0.0 release
|
|
||||||
|
|
||||||
* Mon Nov 25 2013 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-0.2.rcfinal
|
|
||||||
- update to RC-final
|
|
||||||
|
|
||||||
* Fri Nov 22 2013 Kaleb S. KEITHLEY <kkeithle at redhat.com> 2.0.0-0.1.rc5
|
|
||||||
- Initial commit
|
|
390
nfs_ganesha.sh
390
nfs_ganesha.sh
@ -1,390 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
VOLNAME=
|
|
||||||
CONF=
|
|
||||||
IP=
|
|
||||||
LOG=
|
|
||||||
DBGLVL=
|
|
||||||
OPT=
|
|
||||||
FILE1=
|
|
||||||
|
|
||||||
trap cleanup SIGHUP SIGINT SIGTERM
|
|
||||||
|
|
||||||
|
|
||||||
if [ $EUID -ne 0 ]; then
|
|
||||||
echo "You have to be root to run this script"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
function usage {
|
|
||||||
echo " Usage : nfs-ganesha.sh [-l <logfile>][-n <dbg_lvl>] -v <volname> -i <ganesha_host_ip> -f <config_file> -o <start|stop>
|
|
||||||
[-h] display this help
|
|
||||||
[-l <logfile>] set the logfile for the daemon
|
|
||||||
[-n <dbg_lvl>] set the verbosity level
|
|
||||||
dbg_lvl options NIV_NULL, NIV_MAJ, NIV_CRIT, NIV_EVENT, NIV_DEBUG, NIV_MID_DEBUG, NIV_FULL_DEBUG
|
|
||||||
-v <volname> name of the volume to be exported
|
|
||||||
-i <ganesha_host_ip> IP of the ganesha host
|
|
||||||
-f <config_file> set the config file to be used
|
|
||||||
-o <start|stop> start or stop ganesha server
|
|
||||||
===========Default Values=============
|
|
||||||
LogFile : /tmp/nfs-ganesha.log
|
|
||||||
DebugLevel : NIV_EVENT"
|
|
||||||
}
|
|
||||||
|
|
||||||
while getopts "hf:i:l:n:v:o: -l help" OPTION
|
|
||||||
do
|
|
||||||
case $OPTION in
|
|
||||||
f) CONF=$OPTARG
|
|
||||||
;;
|
|
||||||
i) IP=$OPTARG
|
|
||||||
;;
|
|
||||||
l) LOG=$OPTARG
|
|
||||||
;;
|
|
||||||
n) DBGLVL=$OPTARG
|
|
||||||
;;
|
|
||||||
h) usage
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
v) VOLNAME=$OPTARG
|
|
||||||
;;
|
|
||||||
o) OPT=$OPTARG
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
function cleanup ()
|
|
||||||
{
|
|
||||||
if [ -f /tmp/old-ganesha.conf ]
|
|
||||||
then cp /tmp/old-ganesha.conf $CONF
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_for_stop()
|
|
||||||
{
|
|
||||||
if echo $OPT | grep -i -q "stop"
|
|
||||||
then stop_ganesha
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_usage()
|
|
||||||
{
|
|
||||||
|
|
||||||
if [ "$VOLNAME" = "" ]
|
|
||||||
then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "$CONF" = "" ]
|
|
||||||
then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "$IP" = "" ]
|
|
||||||
then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
if [ "$OPT" = "" ]
|
|
||||||
then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
function check_ip {
|
|
||||||
if [[ ! $IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then
|
|
||||||
echo "Invalid IP , please enter the correct IP of the ganesha host."
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_volname
|
|
||||||
{
|
|
||||||
if ! ls /var/lib/glusterd/vols | grep -q "$VOLNAME" ; then
|
|
||||||
echo "Volume doesn't exist. Please enter a valid volume name."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_conf
|
|
||||||
|
|
||||||
|
|
||||||
{
|
|
||||||
|
|
||||||
if ! [ -f "$CONF" ]; then
|
|
||||||
echo "The config_file $CONF doesn't exist."
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
if ! [ -s "$CONF" ]; then
|
|
||||||
echo "The cofig_file $CONF is empty "
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_option
|
|
||||||
{
|
|
||||||
if ! echo $OPT | grep -i -q -e "start" -q -e "stop"
|
|
||||||
then
|
|
||||||
echo "Invalid value for option 'o': start or stop expected"
|
|
||||||
exit 1
|
|
||||||
else if echo $OPT | grep -i -q "start"
|
|
||||||
then
|
|
||||||
OPT="start"
|
|
||||||
else
|
|
||||||
OPT="stop"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_debug
|
|
||||||
{
|
|
||||||
if [ "$DBGLVL" = "" ] ; then
|
|
||||||
DBGLVL="NIV_EVENT"
|
|
||||||
else
|
|
||||||
if ! echo $DBGLVL | grep -q -e " NIV_NULL" -q -e "NIV_MAJOR" -q -e " NIV_CRIT" -q -e "NIV_EVENT" -q -e "NIV_DEBUG" -q -e "NIV_FULL_DEBUG"
|
|
||||||
then
|
|
||||||
echo "Invalid value for option 'n': NIV_NULL, NIV_MAJ, NIV_CRIT, NIV_EVENT, NIV_DEBUG, NIV_MID_DEBUG or NIV_FULL_DEBUG expected."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_logfile
|
|
||||||
{
|
|
||||||
if [ "$LOG" = "" ]; then
|
|
||||||
LOG="/tmp/nfs-ganesha.log"
|
|
||||||
else if [ -f $LOG ]
|
|
||||||
then
|
|
||||||
cp $LOG /tmp/old-ganesha.log
|
|
||||||
FILE1="1"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function call_checks
|
|
||||||
{
|
|
||||||
check_ip
|
|
||||||
check_conf
|
|
||||||
cp $CONF /tmp/old-ganesha.conf
|
|
||||||
|
|
||||||
check_debug
|
|
||||||
check_logfile
|
|
||||||
check_option
|
|
||||||
check_volname
|
|
||||||
}
|
|
||||||
function check_glusterd()
|
|
||||||
{
|
|
||||||
|
|
||||||
if ! ps aux | grep -q -e "[g]lusterd$" -q -e "[g]lusterd.pid"
|
|
||||||
then
|
|
||||||
echo "glusterd not started , please start glusterd. "
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_bricks()
|
|
||||||
{
|
|
||||||
gluster volume status $VOLUME | grep -q "N/A"
|
|
||||||
if [ "$?" -eq 0 ]
|
|
||||||
then
|
|
||||||
echo "Brick(s) not online , please check $VOLUME volume status"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_glusternfs
|
|
||||||
{
|
|
||||||
if echo "$(ls /var/lib/glusterd/vols | wc -l)" | grep -q "1" ; then
|
|
||||||
if ps aux | grep -q "[g]luster/nfs" ; then
|
|
||||||
echo "gluster-nfs server is active, needs to be disabled to proceed. "
|
|
||||||
while true; do
|
|
||||||
read -p "Do you wish to disable gluster-nfs server ? [Y\N]" yn
|
|
||||||
case $yn in
|
|
||||||
[Yy]* ) gluster volume set $VOLNAME nfs.disable ON >/dev/null 2>/dev/null; break;;
|
|
||||||
[Nn]* ) exit 1;;
|
|
||||||
* ) echo "Please answer yes or no.";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
sleep 2
|
|
||||||
if ps aux | grep -q "[g]luster/nfs" ; then
|
|
||||||
echo "Volume set unsuccessful , please try disabling gluster-nfs server "
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
sleep 2
|
|
||||||
if rpcinfo -p | grep -q -e "nfs_acl" ; then
|
|
||||||
echo " gluster-nfs ports still in use; please try again"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
if ps aux | grep -q "[g]luster/nfs"; then
|
|
||||||
echo "Please disable gluster-nfs servers on all the volumes"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_kernelnfs()
|
|
||||||
{
|
|
||||||
service nfs status | grep -q -e "dead" -q -e "stopped" -q -e "disabled"
|
|
||||||
if [ "$?" -eq 1 ]; then
|
|
||||||
echo "kernel-NFS server is active , it needs to disabled to proceed. "
|
|
||||||
while true; do
|
|
||||||
read -p "Do you wish to disable kernel-nfs server ? [Y\N]" yn
|
|
||||||
case $yn in
|
|
||||||
[Yy]* ) service nfs stop; break;;
|
|
||||||
[Nn]* ) exit 1;;
|
|
||||||
* ) echo "Please answer yes or no.";;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
sleep 2
|
|
||||||
service nfs status | grep -q -e "dead" -q -e "stopped" -q -e "inactive" >>/dev/null
|
|
||||||
if [ "$?" -eq 1 ]; then
|
|
||||||
echo " kernel-NFS server couldn't be disabled , please try again"
|
|
||||||
exit 1
|
|
||||||
else
|
|
||||||
echo "kernel-NFS server successfully disabled"
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_volstart()
|
|
||||||
{
|
|
||||||
|
|
||||||
if ! cat /var/lib/glusterd/vols/$1/info | grep -q "status=1"
|
|
||||||
then
|
|
||||||
echo "Volume $1 is not started, please start the volume."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_ganesha
|
|
||||||
{
|
|
||||||
if ps aux | grep -q "[g]anesha.nfsd" ; then
|
|
||||||
echo "NFS-ganesha server is already active , nothing to do."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function check_ports
|
|
||||||
{
|
|
||||||
if netstat -an | grep -q "2049$" ; then
|
|
||||||
echo "Port 2049 is already in use , exiting"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
function check_fsal
|
|
||||||
{
|
|
||||||
|
|
||||||
if ! ls /usr/lib64/ganesha | grep -q "libfsalgluster.so" ; then
|
|
||||||
echo "Cannot find shared object libfsalgluster.so , exiting"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function start_ganesha
|
|
||||||
{
|
|
||||||
check_ganesha
|
|
||||||
#check_rpms
|
|
||||||
check_fsal
|
|
||||||
check_glusterd
|
|
||||||
check_volstart $1
|
|
||||||
check_kernelnfs
|
|
||||||
check_glusternfs $1
|
|
||||||
check_ports
|
|
||||||
check_conf $3
|
|
||||||
check_bricks $1
|
|
||||||
sed -i /^[[:space:]]*\#/!s/volume.*/"volume=$1,hostname=$2\";"/ $3
|
|
||||||
sed -i /^[[:space:]]*\#/!s/Pseudo.*/Pseudo="\"\/$1\";"/ $3
|
|
||||||
sed -i s/Path.*/Path="\"\/$1\";"/ $3
|
|
||||||
sed -i 's/\r//g' $3
|
|
||||||
/usr/bin/ganesha.nfsd -f $CONF -L $LOG -N $DBGLVL -d >/dev/null 2>/dev/null
|
|
||||||
|
|
||||||
sleep 5
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function stop_ganesha
|
|
||||||
{
|
|
||||||
if ! ps aux | grep -q "[g]anesha.nfsd" ; then
|
|
||||||
echo "NFS-ganesha server already inactive,nothing to do."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
kill -9 `cat /var/run/ganesha.pid`
|
|
||||||
if ps aux | ganesha.nfsd ; then
|
|
||||||
if rpcinfo -p | grep -q -e "nfs" ; then
|
|
||||||
echo "NFS-ganesha server could not be stopped, please try again"
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
echo " NFS-ganesha server is now inactive."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
function check_for_stop()
|
|
||||||
{
|
|
||||||
if echo $OPT | grep -i -q "stop"
|
|
||||||
then stop_ganesha
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
check_for_stop
|
|
||||||
check_usage
|
|
||||||
call_checks
|
|
||||||
|
|
||||||
if [ "$OPT" = "start" ]
|
|
||||||
then
|
|
||||||
start_ganesha $VOLNAME $IP $CONF
|
|
||||||
if ! ps aux | grep -q "[g]anesha.nfsd" ; then
|
|
||||||
start_ganesha $VOLNAME $IP $CONF
|
|
||||||
fi
|
|
||||||
sleep 5
|
|
||||||
if ! ps aux | grep -q "[g]anesha.nfsd"
|
|
||||||
then
|
|
||||||
if [ "$FILE1" = "1" ]
|
|
||||||
then
|
|
||||||
cp /tmp/old-ganesha.log $LOG
|
|
||||||
rm -rf /tmp/ganesha.log
|
|
||||||
fi
|
|
||||||
cp /tmp/old-ganesha.conf $CONF
|
|
||||||
rm -rf /tmp/ganesha.conf
|
|
||||||
echo "Failed to start NFS-ganesha server , please see $LOG for details"
|
|
||||||
else
|
|
||||||
echo ""
|
|
||||||
echo "NFS-ganesha server started."
|
|
||||||
echo "============Volume exports============"
|
|
||||||
showmount -e $IP
|
|
||||||
echo "======================================"
|
|
||||||
rm -rf /tmp/old-ganesha.conf
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "$OPT" = "stop" ]
|
|
||||||
then
|
|
||||||
stop_ganesha
|
|
||||||
exit 0
|
|
||||||
|
|
||||||
fi
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user