From 3e49d6bba987614ce1f009bd7e98e28aad51784e Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Sat, 29 Aug 2015 17:17:18 +0200 Subject: [PATCH 01/21] Rebuilt for jemalloc SONAME bump Signed-off-by: Niels de Vos --- nfs-ganesha.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index d4a6a18..cab56f3 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -76,7 +76,7 @@ Name: nfs-ganesha Version: 2.2.0 -Release: 5%{?dev_version:%{dev_version}}%{?dist} +Release: 6%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -564,6 +564,9 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %endif %changelog +* Sat Aug 29 2015 Niels de Vos 2.2.0-6 +- Rebuilt for jemalloc SONAME bump + * Fri Jul 17 2015 Kaleb S. KEITHLEY 2.2.0-5 - BuildRequires: libntirprc on base From ba28275c85cc2aa9424e9564d5bc61f705ed4dc9 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 10 Sep 2015 14:19:12 -0400 Subject: [PATCH 02/21] 2.3.0 RC1 --- nfs-ganesha-2.3rc1-jumbo.patch | 684 +++++++++++++++++++++++++++++++++ nfs-ganesha.spec | 45 ++- sources | 2 +- 3 files changed, 718 insertions(+), 13 deletions(-) create mode 100644 nfs-ganesha-2.3rc1-jumbo.patch diff --git a/nfs-ganesha-2.3rc1-jumbo.patch b/nfs-ganesha-2.3rc1-jumbo.patch new file mode 100644 index 0000000..42a84fa --- /dev/null +++ b/nfs-ganesha-2.3rc1-jumbo.patch @@ -0,0 +1,684 @@ +--- nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_avl.c.orig 2015-09-10 09:39:55.666344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_avl.c 2015-09-10 09:45:02.850344661 -0400 +@@ -234,7 +234,7 @@ + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies just kill the sign bit, making + * cookies 63 bits... */ +- v->hk.k &= ~(1L << 63); ++ v->hk.k &= ~(1ULL << 63); + #endif + + /* XXX would we really wait for UINT64_MAX? if not, how many +@@ -259,7 +259,7 @@ + #ifdef _USE_9P + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies */ +- v->hk.k &= ~(1L << 63); ++ v->hk.k &= ~(1ULL << 63); + #endif + for (j2 = 1 /* tried j=0 */; j2 < UINT64_MAX; j2++) { + v->hk.k = v->hk.k + j2; +@@ -346,7 +346,7 @@ + #ifdef _USE_9P + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies */ +- v.hk.k &= ~(1L << 63); ++ v.hk.k &= ~(1ULL << 63); + #endif + + for (j = 0; j < maxj; j++) { +--- nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_lru.c.orig 2015-09-10 09:07:18.903344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_lru.c 2015-09-10 09:24:01.710344661 -0400 +@@ -708,7 +708,7 @@ + lru_state.futility = 0; + } + +- LogFullDebug(COMPONENT_CACHE_INODE_LRU, "lru entries: %zu", ++ LogFullDebug(COMPONENT_CACHE_INODE_LRU, "lru entries: %" PRIu64, + lru_state.entries_used); + + /* Reap file descriptors. This is a preliminary example of the +@@ -745,7 +745,7 @@ + LogFullDebug(COMPONENT_CACHE_INODE_LRU, + "fdrate:%u fdcount:%zd slept for %" PRIu64 " sec", + fdratepersec, formeropen, +- curr_time - lru_state.prev_time); ++ ((uint64_t) (curr_time - lru_state.prev_time))); + + if (extremis) { + LogDebug(COMPONENT_CACHE_INODE_LRU, +@@ -925,7 +925,8 @@ + "After work, open_fd_count:%zd count:%" PRIu64 + " fdrate:%u threadwait=%" PRIu64, + atomic_fetch_size_t(&open_fd_count), +- lru_state.entries_used, fdratepersec, threadwait); ++ lru_state.entries_used, fdratepersec, ++ ((uint64_t) threadwait)); + LogFullDebug(COMPONENT_CACHE_INODE_LRU, + "currentopen=%zd futility=%d totalwork=%zd biggest_window=%d extremis=%d lanes=%d fds_lowat=%d ", + currentopen, lru_state.futility, totalwork, +--- nfs-ganesha-2.3-rc1/src/CMakeLists.txt.orig 2015-09-09 13:59:07.919344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/CMakeLists.txt 2015-09-09 14:04:39.235344661 -0400 +@@ -761,9 +761,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}" +@@ -779,12 +782,6 @@ + + + #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 ntirpc) + + # Find misc system libs + find_library(LIBRT rt) # extended Pthreads functions +@@ -912,6 +909,7 @@ + ${KRB5_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${LIBRT} ++ ${LIBNTIRPC} + ) + + # Config file; make sure it doesn't clobber an existing one +@@ -922,16 +920,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) +@@ -941,7 +929,6 @@ + add_subdirectory(NodeList) + add_subdirectory(cache_inode) + add_subdirectory(SAL) +-add_subdirectory(libntirpc) + add_subdirectory(RPCAL) + add_subdirectory(Protocols) + add_subdirectory(support) +--- nfs-ganesha-2.3-rc1/src/config_parsing/analyse.c.orig 2015-09-10 08:23:22.091344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/config_parsing/analyse.c 2015-09-10 08:25:12.379344661 -0400 +@@ -191,7 +191,7 @@ + + assert(tree->root.type == TYPE_ROOT); + fprintf(output, "\n"); +- fprintf(output, " %ld \n", ++ fprintf(output, " %zd \n", + glist_length(&tree->root.u.nterm.sub_nodes)); + fprintf(output, " \n"); + for (file = tree->files; file != NULL; file = file->next) +--- nfs-ganesha-2.3-rc1/src/config_parsing/config_parsing.c.orig 2015-09-10 08:41:39.615344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/config_parsing/config_parsing.c 2015-09-10 09:01:37.684344661 -0400 +@@ -758,13 +758,13 @@ + struct config_error_type *err_type) + { + struct config_item *item; +- caddr_t *param_addr; ++ void *param_addr; + sockaddr_t *sock; + int rc; + int errors = 0; + + for (item = params; item->name != NULL; item++) { +- param_addr = (caddr_t *)((uint64_t)param_struct + item->off); ++ param_addr = ((char *)param_struct + item->off); + LogFullDebug(COMPONENT_CONFIG, + "%p name=%s type=%s", + param_addr, item->name, config_type_str(item->type)); +@@ -970,7 +970,7 @@ + struct config_error_type *err_type) + { + struct config_item *item; +- caddr_t *param_addr; ++ void *param_addr; + struct config_node *node, *term_node, *next_node = NULL; + struct glist_head *ns; + int errors = 0; +@@ -1002,8 +1002,7 @@ + node = next_node; + continue; + } +- param_addr = (caddr_t *)((uint64_t)param_struct +- + item->off); ++ param_addr = ((char *)param_struct + item->off); + LogFullDebug(COMPONENT_CONFIG, + "%p name=%s type=%s", + param_addr, item->name, +@@ -1051,10 +1050,9 @@ + &num64, err_type)) { + *(int32_t *)param_addr = num64; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.i32.set_off); + *(uint32_t *)mask_addr + |= item->u.i32.bit; +@@ -1081,10 +1079,9 @@ + &num64, err_type)) { + *(uid_t *)param_addr = num64; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.i64.set_off); + *(uint32_t *)mask_addr + |= item->u.i64.bit; +@@ -1095,9 +1092,9 @@ + if (convert_fsid(term_node, param_addr, + err_type)) { + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.fsid.set_off); + *(uint32_t *)mask_addr + |= item->u.fsid.bit; +@@ -1137,9 +1134,9 @@ + *(uint32_t *)param_addr + &= ~item->u.bit.bit; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.bit.set_off); + *(uint32_t *)mask_addr + |= item->u.bit.bit; +@@ -1155,9 +1152,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.mask; +@@ -1180,9 +1177,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.mask; +@@ -1204,9 +1201,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.bit; +--- nfs-ganesha-2.3-rc1/src/FSAL/common_pnfs.c.orig 2015-09-10 12:48:43.434344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/common_pnfs.c 2015-09-10 12:49:28.695344661 -0400 +@@ -291,7 +291,7 @@ + *(ds_ids + i), + &handle); + if (nfs_status != NFS4_OK) { +- LogMajor(COMPONENT_PNFS, "Failed converting FH %lu.", ++ LogMajor(COMPONENT_PNFS, "Failed converting FH %zu.", + i); + return nfs_status; + } +@@ -300,7 +300,7 @@ + (char **)&handle.nfs_fh4_val, + &handle.nfs_fh4_len, + handle.nfs_fh4_len)) { +- LogMajor(COMPONENT_PNFS, "Failed encoding FH %lu.", i); ++ LogMajor(COMPONENT_PNFS, "Failed encoding FH %zu.", i); + return NFS4ERR_SERVERFAULT; + } + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/export.c.orig 2015-09-10 11:41:29.614344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/export.c 2015-09-10 11:42:04.125344661 -0400 +@@ -212,7 +212,7 @@ + fh_size = GLAPI_HANDLE_LENGTH; + if (fh_desc->len != fh_size) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be %lu, got %lu", ++ "Size mismatch for handle. should be %zu, got %zu", + fh_size, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/handle.c.orig 2015-09-10 11:43:46.414344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/handle.c 2015-09-10 11:51:17.085344661 -0400 +@@ -1248,7 +1248,7 @@ + */ + if (flock.l_len < 0) { + LogCrit(COMPONENT_FSAL, +- "The requested lock length is out of range- flock.l_len(%ld), request_lock_length(%lu)", ++ "The requested lock length is out of range- flock.l_len(%" PRIi64 "), request_lock_length(%" PRIu64 ")", + flock.l_len, request_lock->lock_length); + status.major = ERR_FSAL_BAD_RANGE; + goto out; +@@ -1515,7 +1515,7 @@ + fh_size = GLAPI_HANDLE_LENGTH; + if (fh_desc->len < fh_size) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %lu, have %lu", ++ "Space too small for handle. need %zu, have %zu", + fh_size, fh_desc->len); + status.major = ERR_FSAL_TOOSMALL; + goto out; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/posix_acls.c.orig 2015-09-10 07:59:08.715344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/posix_acls.c 2015-09-10 07:59:46.368344661 -0400 +@@ -471,7 +471,7 @@ + acl_t allow_acl, deny_acl; + acl_entry_t a_entry, d_entry; + acl_permset_t a_permset, e_a_permset, d_permset, e_d_permset; +- acl_tag_t tag; ++ acl_tag_t tag = -1; + char *acl_str; + unsigned int id; + bool mask = false; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PROXY/handle.c.orig 2015-09-10 11:12:37.781344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PROXY/handle.c 2015-09-10 12:37:29.215344661 -0400 +@@ -907,7 +907,7 @@ + + if (!needed && pxy_rpc_renewer_wait(lease_time - 5)) { + /* Simply renew the client id you've got */ +- LogDebug(COMPONENT_FSAL, "Renewing client id %lx", ++ LogDebug(COMPONENT_FSAL, "Renewing client id %" PRIx64, + pxy_clientid); + arg.argop = NFS4_OP_RENEW; + arg.nfs_argop4_u.oprenew.clientid = pxy_clientid; +@@ -915,7 +915,7 @@ + &res); + if (rc == NFS4_OK) { + LogDebug(COMPONENT_FSAL, +- "Renewed client id %lx", pxy_clientid); ++ "Renewed client id %" PRIx64, pxy_clientid); + continue; + } + } +@@ -2223,7 +2223,7 @@ + #endif + if (fh_desc->len != fh_size) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be %lu, got %lu", ++ "Size mismatch for handle. should be %zu, got %zu", + fh_size, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/export.c.orig 2015-09-10 12:30:54.996344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/export.c 2015-09-10 12:31:21.319344661 -0400 +@@ -253,7 +253,7 @@ + + if (fh_desc->len < fh_min) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be >= %lu, got %lu", ++ "Size mismatch for handle. should be >= %zu, got %zu", + fh_min, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/handle.c.orig 2015-09-10 11:05:27.445344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/handle.c 2015-09-10 12:22:02.934344661 -0400 +@@ -675,8 +675,9 @@ + case FSAL_DIGEST_NFSV4: + if (fh_desc->len < V4_FH_OPAQUE_SIZE) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %lu, have %lu", +- V4_FH_OPAQUE_SIZE, fh_desc->len); ++ "Space too small for handle. need %lu, have %zu", ++ ((unsigned long) V4_FH_OPAQUE_SIZE), ++ fh_desc->len); + return fsalstat(ERR_FSAL_TOOSMALL, 0); + } + +@@ -850,9 +851,9 @@ + + if (hdl_desc->len != V4_FH_OPAQUE_SIZE) { + LogCrit(COMPONENT_FSAL, +- "Invalid handle size %lu expected %zu", ++ "Invalid handle size %zu expected %lu", + hdl_desc->len, +- V4_FH_OPAQUE_SIZE); ++ ((unsigned long) V4_FH_OPAQUE_SIZE)); + + return fsalstat(ERR_FSAL_BADHANDLE, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/file.c.orig 2015-09-10 11:56:58.263344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/file.c 2015-09-10 11:58:01.350344661 -0400 +@@ -297,7 +297,7 @@ + goto out; + } + LogFullDebug(COMPONENT_FSAL, +- "Locking: op:%d type:%d start:%" PRIu64 " length:%lu ", ++ "Locking: op:%d type:%d start:%" PRIu64 " length:%" PRIu64, + lock_op, request_lock->lock_type, request_lock->lock_start, + request_lock->lock_length); + if (lock_op == FSAL_OP_LOCKT) { +@@ -336,7 +336,7 @@ + */ + if (lock_args.l_len < 0) { + LogCrit(COMPONENT_FSAL, +- "The requested lock length is out of range- lock_args.l_len(%ld), request_lock_length(%lu)", ++ "The requested lock length is out of range- lock_args.l_len(%ld), request_lock_length(%" PRIu64 ")", + lock_args.l_len, request_lock->lock_length); + fsal_error = ERR_FSAL_BAD_RANGE; + goto out; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/handle.c.orig 2015-09-10 11:53:08.591344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/handle.c 2015-09-10 11:54:21.005344661 -0400 +@@ -1711,8 +1711,8 @@ + case FSAL_DIGEST_NFSV4: + if (fh_desc->len < myself->handle->handle_len) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %d, have %lu", +- (int) myself->handle->handle_len, ++ "Space too small for handle. need %u, have %zu", ++ myself->handle->handle_len, + fh_desc->len); + return fsalstat(ERR_FSAL_TOOSMALL, 0); + } +--- nfs-ganesha-2.3-rc1/src/MainNFSD/nfs_init.c.orig 2015-09-10 09:30:35.696344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/MainNFSD/nfs_init.c 2015-09-10 09:31:35.054344661 -0400 +@@ -196,12 +196,12 @@ + printf("\tDRC_UDP_Checksum = %u ;\n", + nfs_param.core_param.drc.udp.checksum); + printf("\tDecoder_Fridge_Expiration_Delay = %" PRIu64 " ;\n", +- nfs_param.core_param.decoder_fridge_expiration_delay); ++ ((uint64_t) nfs_param.core_param.decoder_fridge_expiration_delay)); + printf("\tDecoder_Fridge_Block_Timeout = %" PRIu64 " ;\n", +- nfs_param.core_param.decoder_fridge_block_timeout); ++ ((uint64_t) nfs_param.core_param.decoder_fridge_block_timeout)); + + printf("\tManage_Gids_Expiration = %" PRIu64 " ;\n", +- nfs_param.core_param.manage_gids_expiration); ++ ((uint64_t) nfs_param.core_param.manage_gids_expiration)); + + if (nfs_param.core_param.drop_io_errors) + printf("\tDrop_IO_Errors = true ;\n"); +--- nfs-ganesha-2.3-rc1/src/Protocols/9P/9p_xattrwalk.c.orig 2015-09-10 11:22:58.239344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/9P/9p_xattrwalk.c 2015-09-10 11:24:26.539344661 -0400 +@@ -56,7 +56,7 @@ + u32 *attrfid = NULL; + u16 *name_len; + char *name_str; +- u64 attrsize = 0LL; ++ size_t attrsize = 0; + + fsal_status_t fsal_status; + char name[MAXNAMLEN]; +@@ -152,7 +152,7 @@ + } + + xattr_cursor = pxattrfid->specdata.xattr.xattr_content; +- attrsize = 0LL; ++ attrsize = 0; + for (i = 0; i < nb_xattrs_read; i++) { + tmplen = + snprintf(xattr_cursor, MAXNAMLEN, "%s", +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_fsstat.c.orig 2015-09-10 10:33:35.075344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_fsstat.c 2015-09-10 10:36:27.213344661 -0400 +@@ -99,7 +99,7 @@ + + if (cache_status == CACHE_INODE_SUCCESS) { + LogFullDebug(COMPONENT_NFSPROTO, +- "nfs_Fsstat --> dynamicinfo.total_bytes=%zu dynamicinfo.free_bytes=%zu dynamicinfo.avail_bytes=%zu", ++ "nfs_Fsstat --> dynamicinfo.total_bytes=%" PRIu64 " dynamicinfo.free_bytes=%" PRIu64 " dynamicinfo.avail_bytes=%" PRIu64, + dynamicinfo.total_bytes, dynamicinfo.free_bytes, + dynamicinfo.avail_bytes); + LogFullDebug(COMPONENT_NFSPROTO, +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_read.c.orig 2015-09-10 10:44:30.812344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_read.c 2015-09-10 10:46:25.586344661 -0400 +@@ -106,7 +106,7 @@ + nfs_FhandleToStr(req->rq_vers, &arg->arg_read3.file, NULL, str); + LogDebug(COMPONENT_NFSPROTO, + "REQUEST PROCESSING: Calling nfs_Read handle: %s start: %" +- PRIu64 " len: %" PRIu64, ++ PRIu64 " len: %zu", + str, offset, size); + } + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_write.c.orig 2015-09-10 10:52:26.791344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_write.c 2015-09-10 10:55:23.321344661 -0400 +@@ -109,7 +109,7 @@ + + LogDebug(COMPONENT_NFSPROTO, + "REQUEST PROCESSING: Calling nfs_Write handle: %s start: %" +- PRIx64 " len: %" PRIx64 " %s", ++ PRIx64 " len: %zx %s", + str, offset, size, stables); + } + +@@ -180,7 +180,7 @@ + /* Do not exceed maxium WRITE offset if set */ + if (op_ctx->export->MaxOffsetWrite < UINT64_MAX) { + LogFullDebug(COMPONENT_NFSPROTO, +- "Write offset=%" PRIu64 " count=%" PRIu64 ++ "Write offset=%" PRIu64 " size=%zu" + " MaxOffSet=%" PRIu64, offset, size, + op_ctx->export->MaxOffsetWrite); + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_layoutget.c.orig 2015-09-10 11:27:03.276344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_layoutget.c 2015-09-10 11:30:09.100344661 -0400 +@@ -547,7 +547,7 @@ + nfsstat4 nfs_status = 0; + + LogEvent(COMPONENT_PNFS, +- "LAYOUTERROR OP %d status %d offset: %lu length: %lu", ++ "LAYOUTERROR OP %d status %d offset: %" PRIu64 " length: %" PRIu64, + arg_LAYOUTERROR4->lea_errors.de_opnum, + arg_LAYOUTERROR4->lea_errors.de_status, + arg_LAYOUTERROR4->lea_offset, +@@ -577,12 +577,12 @@ + nfsstat4 nfs_status = 0; + + LogEvent(COMPONENT_PNFS, +- "LAYOUTSTATS offset %lu length %lu", ++ "LAYOUTSTATS offset %" PRIu64 " length %" PRIu64, + arg_LAYOUTSTATS4->lsa_offset, + arg_LAYOUTSTATS4->lsa_length); + + LogEvent(COMPONENT_PNFS, +- "LAYOUTSTATS read count %u bytes %lu write count %u bytes %lu", ++ "LAYOUTSTATS read count %u bytes %" PRIu64 " write count %u bytes %" PRIu64, + arg_LAYOUTSTATS4->lsa_read.ii_count, + arg_LAYOUTSTATS4->lsa_read.ii_bytes, + arg_LAYOUTSTATS4->lsa_write.ii_count, +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_read.c.orig 2015-09-10 11:35:03.095344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_read.c 2015-09-10 12:33:31.070344661 -0400 +@@ -418,7 +418,7 @@ + if (op_ctx->export->MaxOffsetRead < UINT64_MAX) { + LogFullDebug(COMPONENT_NFS_V4, + "Read offset=%" PRIu64 +- " count=%zd MaxOffSet=%" PRIu64, ++ " size=%" PRIu64 " MaxOffSet=%" PRIu64, + offset, size, + op_ctx->export->MaxOffsetRead); + +@@ -710,7 +710,7 @@ + } + done: + LogDebug(COMPONENT_NFS_V4, +- "Status %s hints 0x%X offset %ld count %ld ", ++ "Status %s hints 0x%X offset %" PRIu64 " count %" PRIu64, + nfsstat4_to_str(res_IO_ADVISE->iaa_status), + hints.hints, hints.offset, hints.count); + +@@ -792,7 +792,7 @@ + } + done: + LogDebug(COMPONENT_NFS_V4, +- "Status %s type %d offset %ld ", ++ "Status %s type %d offset %" PRIu64, + nfsstat4_to_str(res_SEEK->sr_status), arg_SEEK->sa_what, + arg_SEEK->sa_offset); + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs_proto_tools.c.orig 2015-09-10 12:34:47.664344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs_proto_tools.c 2015-09-10 12:35:56.368344661 -0400 +@@ -3715,7 +3715,7 @@ + nfs3_FSALattr_To_PartialFattr(FSAL_attr, &got, Fattr); + if (want & ~got) { + LogCrit(COMPONENT_NFSPROTO, +- "Likely bug: FSAL did not fill in a standard NFSv3 attribute: missing %lx", ++ "Likely bug: FSAL did not fill in a standard NFSv3 attribute: missing %" PRIx64, + want & ~got); + } + +@@ -4206,6 +4206,6 @@ + if (!(attr->mode & S_ISVTX)) + return false; + +- LogDebug(COMPONENT_NFS_V4, "sticky bit is set on %ld", attr->fileid); ++ LogDebug(COMPONENT_NFS_V4, "sticky bit is set on %" PRIi64, attr->fileid); + return true; + } +--- nfs-ganesha-2.3-rc1/src/SAL/nfs4_recovery.c.orig 2015-09-10 10:14:22.739344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/SAL/nfs4_recovery.c 2015-09-10 10:29:20.513344661 -0400 +@@ -66,8 +66,6 @@ + */ + void nfs4_start_grace(nfs_grace_start_t *gsp) + { +- time_t current_time; +- + if (nfs_param.nfsv4_param.graceless) { + LogEvent(COMPONENT_STATE, + "NFS Server skipping GRACE (Graceless is true)"); +@@ -81,8 +79,7 @@ + * seconds Lease_Lifetime should be set to a smaller value for those + * setups. + */ +- current_time = time(NULL); +- atomic_store_uint64_t(¤t_grace, current_time); ++ atomic_store_time_t(¤t_grace, time(NULL)); + + LogEvent(COMPONENT_STATE, "NFS Server Now IN GRACE, duration %d", + (int)nfs_param.nfsv4_param.lease_lifetime); +@@ -220,7 +217,7 @@ + PATH_MAX) > 0) { + /* convert_opaque_value_max_for_dir does not prefix + * the "(:". So we need to do it here */ +- sprintf(cidstr_len, "%ld", strlen(cidstr)); ++ snprintf(cidstr_len, sizeof cidstr_len, "%zd", strlen(cidstr)); + total_len = strlen(cidstr) + strlen(str_client_addr) + 5 + + strlen(cidstr_len); + /* hold both long form clientid and IP */ +@@ -268,7 +265,7 @@ + PATH_MAX) > 0) { + /* convert_opaque_value_max_for_dir does not prefix + * the "(:". So we need to do it here */ +- sprintf(cidstr_len, "%ld", strlen(cidstr)); ++ snprintf(cidstr_len, sizeof cidstr_len, "%zd", strlen(cidstr)); + total_len = strlen(cidstr) + strlen(buf) + 5 + + strlen(cidstr_len); + /* hold both long form clientid and IP */ +@@ -371,7 +368,7 @@ + dentp->d_name[0] != '\x1') { + continue; + } +- sprintf(del_path, "%s/%s", path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +@@ -576,7 +573,7 @@ + char lopath[PATH_MAX]; + int fd; + +- sprintf(lopath, "%s/", tgtdir); ++ snprintf(lopath, sizeof lopath, "%s/", tgtdir); + strncat(lopath, dentp->d_name, strlen(dentp->d_name)); + fd = creat(lopath, 0700); + if (fd < 0) { +@@ -613,7 +610,7 @@ + if (del) { + char del_path[PATH_MAX]; + +- sprintf(del_path, "%s/%s", path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +@@ -1018,7 +1015,7 @@ + if (dentp->d_name[0] == '\x1') { + char del_path[PATH_MAX]; + +- sprintf(del_path, "%s/%s", parent_path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", parent_path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +--- nfs-ganesha-2.3-rc1/src/SAL/nfs4_state_id.c.orig 2015-09-10 09:51:49.633344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/SAL/nfs4_state_id.c 2015-09-10 10:08:58.896344661 -0400 +@@ -365,8 +365,7 @@ + res = ((uint32_t) pkey->state_owner->so_owner.so_nfs4_owner.so_clientid + + (uint32_t) sum + pkey->state_owner->so_owner_len + + (uint32_t) pkey->state_owner->so_type +- + (uint32_t) (uint64_t) pkey->state_entry) +- % (uint32_t) hparam->index_size; ++ + ((uintptr_t) pkey->state_entry) % (uint32_t) hparam->index_size); + + if (isDebug(COMPONENT_HASHTABLE)) + LogFullDebug(COMPONENT_STATE, "value = %" PRIu32, res); +@@ -401,7 +400,7 @@ + res = (uint64_t) pkey->state_owner->so_owner.so_nfs4_owner.so_clientid + + (uint64_t) sum + pkey->state_owner->so_owner_len + + (uint64_t) pkey->state_owner->so_type +- + (uint64_t) pkey->state_entry; ++ + (uintptr_t) pkey->state_entry; + + if (isDebug(COMPONENT_HASHTABLE)) + LogFullDebug(COMPONENT_STATE, "rbt = %" PRIu64, res); +--- nfs-ganesha-2.3-rc1/src/support/exports.c.orig 2015-09-10 11:19:42.941344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/support/exports.c 2015-09-10 11:20:44.579344661 -0400 +@@ -818,7 +818,7 @@ + export->fullpath, export->FS_tag, perms); + + LogInfo(COMPONENT_CONFIG, +- "Export %d has %ld defined clients", export->export_id, ++ "Export %d has %zd defined clients", export->export_id, + glist_length(&export->clients)); + put_gsh_export(export); + return 0; diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index cab56f3..e191da4 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -26,6 +26,9 @@ # %%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} @@ -70,20 +73,20 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -#%%global dev_version %{lua: extraver = string.gsub('-rc-final', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc1', '%-', ''); print(extraver) } -%global versiontag 2.2.0 +%global versiontag 2.3-rc1 Name: nfs-ganesha -Version: 2.2.0 -Release: 6%{?dev_version:%{dev_version}}%{?dist} +Version: 2.3.0 +Release: 0.1%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{version}.tar.gz -Patch0: nfs-ganesha-2.2.0-CMakeLists.txt.patch +Source0: https://github.com/%{name}/%{name}/archive/V%{versiontag}/%{name}-%{versiontag}.tar.gz +Patch0: nfs-ganesha-2.3rc1-jumbo.patch BuildRequires: cmake BuildRequires: bison flex @@ -146,6 +149,7 @@ Requires: nfs-ganesha = %{version}-%{release} This package contains a FSAL shared object to be used with NFS-Ganesha to support VFS based filesystems +%if %{with nullfs} %package nullfs Summary: The NFS-GANESHA's NULLFS Stackable FSAL Group: Applications/System @@ -154,6 +158,7 @@ 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 %package proxy Summary: The NFS-GANESHA's PROXY FSAL @@ -169,6 +174,8 @@ be used with NFS-Ganesha to support PROXY based filesystems %package utils Summary: The NFS-GANESHA's util scripts Group: Applications/System +Requires: dbus-python +Requires: pygobject2 %if %{with gui_utils} BuildRequires: PyQt4-devel Requires: PyQt4 @@ -302,8 +309,9 @@ be used with NFS-Ganesha to support PT Summary: The NFS-GANESHA's GLUSTER FSAL Group: Applications/System Requires: nfs-ganesha = %{version}-%{release} -BuildRequires: glusterfs-api-devel >= 3.5.1 +BuildRequires: glusterfs-api-devel >= 3.7.4 BuildRequires: libattr-devel +BuildRequires: libacl-devel %description gluster This package contains a FSAL shared object to @@ -318,6 +326,7 @@ rm -rf contrib/libzfswrapper %build %cmake ./src -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} \ @@ -400,6 +409,10 @@ install -m 644 src/config_samples/gpfs.ganesha.nfsd.conf %{buildroot}%{_sysconfd install -m 644 src/config_samples/gpfs.ganesha.main.conf %{buildroot}%{_sysconfdir}/ganesha install -m 644 src/config_samples/gpfs.ganesha.log.conf %{buildroot}%{_sysconfdir}/ganesha install -m 644 src/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 %if %{with utils} @@ -454,6 +467,7 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %files mount-9P %defattr(-,root,root,-) %{_sbindir}/mount.9P +%{_bindir}/*_stats_9pOps %files vfs @@ -462,16 +476,17 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %config(noreplace) %{_sysconfdir}/ganesha/vfs.conf -%files nullfs -%defattr(-,root,root,-) -%{_libdir}/ganesha/libfsalnull* - - %files proxy %defattr(-,root,root,-) %{_libdir}/ganesha/libfsalproxy* # Optional packages +%if %{with nullfs} +%files nullfs +%defattr(-,root,root,-) +%{_libdir}/ganesha/libfsalnull* +%endif + %if %{with gpfs} %files gpfs %defattr(-,root,root,-) @@ -481,6 +496,9 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %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} @@ -564,6 +582,9 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %endif %changelog +* Wed Sep 9 2015 Kaleb S. KEITHLEY 2.3.0RC1-1 +- 2.3.0 RC1 + * Sat Aug 29 2015 Niels de Vos 2.2.0-6 - Rebuilt for jemalloc SONAME bump diff --git a/sources b/sources index bb43945..f13f252 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -e2d8e66ab4f78e3ecf1582cfa26c7d37 nfs-ganesha-2.2.0.tar.gz +2bc1e87579f1458fba14743fc15abac5 nfs-ganesha-2.3-rc1.tar.gz From a750c36f6bd780d3fbaa7535a607222c257a4d8a Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 11 Sep 2015 17:47:42 -0400 Subject: [PATCH 03/21] 2.3.0 RC1, revised .../SAL/nfs4_state_id.c.patch --- nfs-ganesha-2.3rc1-jumbo.patch | 2 +- nfs-ganesha.spec | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nfs-ganesha-2.3rc1-jumbo.patch b/nfs-ganesha-2.3rc1-jumbo.patch index 42a84fa..f30c1b0 100644 --- a/nfs-ganesha-2.3rc1-jumbo.patch +++ b/nfs-ganesha-2.3rc1-jumbo.patch @@ -658,7 +658,7 @@ + (uint32_t) pkey->state_owner->so_type - + (uint32_t) (uint64_t) pkey->state_entry) - % (uint32_t) hparam->index_size; -+ + ((uintptr_t) pkey->state_entry) % (uint32_t) hparam->index_size); ++ + ((uintptr_t) pkey->state_entry)) % (uint32_t) hparam->index_size; if (isDebug(COMPONENT_HASHTABLE)) LogFullDebug(COMPONENT_STATE, "value = %" PRIu32, res); diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index e191da4..f14e710 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -79,7 +79,7 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.1%{?dev_version:%{dev_version}}%{?dist} +Release: 0.2%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -582,7 +582,10 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %endif %changelog -* Wed Sep 9 2015 Kaleb S. KEITHLEY 2.3.0RC1-1 +* Fri Sep 11 2015 Kaleb S. KEITHLEY 2.3.0-0.2rc1 +- 2.3.0 RC1, revised .../SAL/nfs4_state_id.c.patch + +* Wed Sep 9 2015 Kaleb S. KEITHLEY 2.3.0-0.1rc1 - 2.3.0 RC1 * Sat Aug 29 2015 Niels de Vos 2.2.0-6 From 98765927f8da64a9c6bf94451497737211f9c1d2 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sun, 13 Sep 2015 07:21:22 -0400 Subject: [PATCH 04/21] 2.3.0 RC2 --- nfs-ganesha-2.3rc2-jumbo.patch | 684 +++++++++++++++++++++++++++++++++ nfs-ganesha.spec | 28 +- sources | 2 +- 3 files changed, 701 insertions(+), 13 deletions(-) create mode 100644 nfs-ganesha-2.3rc2-jumbo.patch diff --git a/nfs-ganesha-2.3rc2-jumbo.patch b/nfs-ganesha-2.3rc2-jumbo.patch new file mode 100644 index 0000000..0653b2b --- /dev/null +++ b/nfs-ganesha-2.3rc2-jumbo.patch @@ -0,0 +1,684 @@ +--- nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_avl.c.orig 2015-09-10 09:39:55.666344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_avl.c 2015-09-10 09:45:02.850344661 -0400 +@@ -234,7 +234,7 @@ + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies just kill the sign bit, making + * cookies 63 bits... */ +- v->hk.k &= ~(1L << 63); ++ v->hk.k &= ~(1ULL << 63); + #endif + + /* XXX would we really wait for UINT64_MAX? if not, how many +@@ -259,7 +259,7 @@ + #ifdef _USE_9P + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies */ +- v->hk.k &= ~(1L << 63); ++ v->hk.k &= ~(1ULL << 63); + #endif + for (j2 = 1 /* tried j=0 */; j2 < UINT64_MAX; j2++) { + v->hk.k = v->hk.k + j2; +@@ -346,7 +346,7 @@ + #ifdef _USE_9P + /* tmp hook : it seems like client running v9fs dislike "negative" + * cookies */ +- v.hk.k &= ~(1L << 63); ++ v.hk.k &= ~(1ULL << 63); + #endif + + for (j = 0; j < maxj; j++) { +--- nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_lru.c.orig 2015-09-10 09:07:18.903344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/cache_inode/cache_inode_lru.c 2015-09-10 09:24:01.710344661 -0400 +@@ -708,7 +708,7 @@ + lru_state.futility = 0; + } + +- LogFullDebug(COMPONENT_CACHE_INODE_LRU, "lru entries: %zu", ++ LogFullDebug(COMPONENT_CACHE_INODE_LRU, "lru entries: %" PRIu64, + lru_state.entries_used); + + /* Reap file descriptors. This is a preliminary example of the +@@ -745,7 +745,7 @@ + LogFullDebug(COMPONENT_CACHE_INODE_LRU, + "fdrate:%u fdcount:%zd slept for %" PRIu64 " sec", + fdratepersec, formeropen, +- curr_time - lru_state.prev_time); ++ ((uint64_t) (curr_time - lru_state.prev_time))); + + if (extremis) { + LogDebug(COMPONENT_CACHE_INODE_LRU, +@@ -925,7 +925,8 @@ + "After work, open_fd_count:%zd count:%" PRIu64 + " fdrate:%u threadwait=%" PRIu64, + atomic_fetch_size_t(&open_fd_count), +- lru_state.entries_used, fdratepersec, threadwait); ++ lru_state.entries_used, fdratepersec, ++ ((uint64_t) threadwait)); + LogFullDebug(COMPONENT_CACHE_INODE_LRU, + "currentopen=%zd futility=%d totalwork=%zd biggest_window=%d extremis=%d lanes=%d fds_lowat=%d ", + currentopen, lru_state.futility, totalwork, +--- nfs-ganesha-2.3-rc2/src/CMakeLists.txt.orig 2015-09-11 19:01:01.530344661 -0400 ++++ nfs-ganesha-2.3-rc2/src/CMakeLists.txt 2015-09-11 19:05:13.269344661 -0400 +@@ -765,9 +765,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) ++ ++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}" +@@ -783,12 +786,6 @@ + + + #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 ntirpc) + + # Find misc system libs + find_library(LIBRT rt) # extended Pthreads functions +@@ -916,6 +913,7 @@ + ${KRB5_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${LIBRT} ++ ${LIBNTIRPC} + ) + + # Config file; make sure it doesn't clobber an existing one +@@ -926,16 +924,6 @@ + # pre-create PREFIX/var/run/ganesha + install(DIRECTORY DESTINATION ${SYSSTATEDIR}/run/ganesha) + +-IF( NOT EXISTS ${PROJECT_SOURCE_DIR}/libntirpc/ganesha/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/ganesha/CMakeLists.txt ) +- + add_subdirectory(log) + add_subdirectory(config_parsing) + add_subdirectory(cidr) +@@ -945,7 +933,6 @@ + add_subdirectory(NodeList) + add_subdirectory(cache_inode) + add_subdirectory(SAL) +-add_subdirectory(libntirpc/ganesha) + add_subdirectory(RPCAL) + add_subdirectory(Protocols) + add_subdirectory(support) +--- nfs-ganesha-2.3-rc1/src/config_parsing/analyse.c.orig 2015-09-10 08:23:22.091344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/config_parsing/analyse.c 2015-09-10 08:25:12.379344661 -0400 +@@ -191,7 +191,7 @@ + + assert(tree->root.type == TYPE_ROOT); + fprintf(output, "\n"); +- fprintf(output, " %ld \n", ++ fprintf(output, " %zd \n", + glist_length(&tree->root.u.nterm.sub_nodes)); + fprintf(output, " \n"); + for (file = tree->files; file != NULL; file = file->next) +--- nfs-ganesha-2.3-rc1/src/config_parsing/config_parsing.c.orig 2015-09-10 08:41:39.615344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/config_parsing/config_parsing.c 2015-09-10 09:01:37.684344661 -0400 +@@ -758,13 +758,13 @@ + struct config_error_type *err_type) + { + struct config_item *item; +- caddr_t *param_addr; ++ void *param_addr; + sockaddr_t *sock; + int rc; + int errors = 0; + + for (item = params; item->name != NULL; item++) { +- param_addr = (caddr_t *)((uint64_t)param_struct + item->off); ++ param_addr = ((char *)param_struct + item->off); + LogFullDebug(COMPONENT_CONFIG, + "%p name=%s type=%s", + param_addr, item->name, config_type_str(item->type)); +@@ -970,7 +970,7 @@ + struct config_error_type *err_type) + { + struct config_item *item; +- caddr_t *param_addr; ++ void *param_addr; + struct config_node *node, *term_node, *next_node = NULL; + struct glist_head *ns; + int errors = 0; +@@ -1002,8 +1002,7 @@ + node = next_node; + continue; + } +- param_addr = (caddr_t *)((uint64_t)param_struct +- + item->off); ++ param_addr = ((char *)param_struct + item->off); + LogFullDebug(COMPONENT_CONFIG, + "%p name=%s type=%s", + param_addr, item->name, +@@ -1051,10 +1050,9 @@ + &num64, err_type)) { + *(int32_t *)param_addr = num64; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.i32.set_off); + *(uint32_t *)mask_addr + |= item->u.i32.bit; +@@ -1081,10 +1079,9 @@ + &num64, err_type)) { + *(uid_t *)param_addr = num64; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.i64.set_off); + *(uint32_t *)mask_addr + |= item->u.i64.bit; +@@ -1095,9 +1092,9 @@ + if (convert_fsid(term_node, param_addr, + err_type)) { + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.fsid.set_off); + *(uint32_t *)mask_addr + |= item->u.fsid.bit; +@@ -1137,9 +1134,9 @@ + *(uint32_t *)param_addr + &= ~item->u.bit.bit; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.bit.set_off); + *(uint32_t *)mask_addr + |= item->u.bit.bit; +@@ -1155,9 +1152,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.mask; +@@ -1180,9 +1177,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.mask; +@@ -1204,9 +1201,9 @@ + err_type)) { + *(uint32_t *)param_addr |= num32; + if (item->flags & CONFIG_MARK_SET) { +- caddr_t *mask_addr; +- mask_addr = (caddr_t *) +- ((uint64_t)param_struct ++ void *mask_addr; ++ mask_addr = ++ ((char *)param_struct + + item->u.lst.set_off); + *(uint32_t *)mask_addr + |= item->u.lst.bit; +--- nfs-ganesha-2.3-rc1/src/FSAL/common_pnfs.c.orig 2015-09-10 12:48:43.434344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/common_pnfs.c 2015-09-10 12:49:28.695344661 -0400 +@@ -291,7 +291,7 @@ + *(ds_ids + i), + &handle); + if (nfs_status != NFS4_OK) { +- LogMajor(COMPONENT_PNFS, "Failed converting FH %lu.", ++ LogMajor(COMPONENT_PNFS, "Failed converting FH %zu.", + i); + return nfs_status; + } +@@ -300,7 +300,7 @@ + (char **)&handle.nfs_fh4_val, + &handle.nfs_fh4_len, + handle.nfs_fh4_len)) { +- LogMajor(COMPONENT_PNFS, "Failed encoding FH %lu.", i); ++ LogMajor(COMPONENT_PNFS, "Failed encoding FH %zu.", i); + return NFS4ERR_SERVERFAULT; + } + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/export.c.orig 2015-09-10 11:41:29.614344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/export.c 2015-09-10 11:42:04.125344661 -0400 +@@ -212,7 +212,7 @@ + fh_size = GLAPI_HANDLE_LENGTH; + if (fh_desc->len != fh_size) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be %lu, got %lu", ++ "Size mismatch for handle. should be %zu, got %zu", + fh_size, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/handle.c.orig 2015-09-10 11:43:46.414344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/handle.c 2015-09-10 11:51:17.085344661 -0400 +@@ -1248,7 +1248,7 @@ + */ + if (flock.l_len < 0) { + LogCrit(COMPONENT_FSAL, +- "The requested lock length is out of range- flock.l_len(%ld), request_lock_length(%lu)", ++ "The requested lock length is out of range- flock.l_len(%" PRIi64 "), request_lock_length(%" PRIu64 ")", + flock.l_len, request_lock->lock_length); + status.major = ERR_FSAL_BAD_RANGE; + goto out; +@@ -1515,7 +1515,7 @@ + fh_size = GLAPI_HANDLE_LENGTH; + if (fh_desc->len < fh_size) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %lu, have %lu", ++ "Space too small for handle. need %zu, have %zu", + fh_size, fh_desc->len); + status.major = ERR_FSAL_TOOSMALL; + goto out; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/posix_acls.c.orig 2015-09-10 07:59:08.715344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_GLUSTER/posix_acls.c 2015-09-10 07:59:46.368344661 -0400 +@@ -471,7 +471,7 @@ + acl_t allow_acl, deny_acl; + acl_entry_t a_entry, d_entry; + acl_permset_t a_permset, e_a_permset, d_permset, e_d_permset; +- acl_tag_t tag; ++ acl_tag_t tag = -1; + char *acl_str; + unsigned int id; + bool mask = false; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PROXY/handle.c.orig 2015-09-10 11:12:37.781344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PROXY/handle.c 2015-09-10 12:37:29.215344661 -0400 +@@ -907,7 +907,7 @@ + + if (!needed && pxy_rpc_renewer_wait(lease_time - 5)) { + /* Simply renew the client id you've got */ +- LogDebug(COMPONENT_FSAL, "Renewing client id %lx", ++ LogDebug(COMPONENT_FSAL, "Renewing client id %" PRIx64, + pxy_clientid); + arg.argop = NFS4_OP_RENEW; + arg.nfs_argop4_u.oprenew.clientid = pxy_clientid; +@@ -915,7 +915,7 @@ + &res); + if (rc == NFS4_OK) { + LogDebug(COMPONENT_FSAL, +- "Renewed client id %lx", pxy_clientid); ++ "Renewed client id %" PRIx64, pxy_clientid); + continue; + } + } +@@ -2223,7 +2223,7 @@ + #endif + if (fh_desc->len != fh_size) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be %lu, got %lu", ++ "Size mismatch for handle. should be %zu, got %zu", + fh_size, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/export.c.orig 2015-09-10 12:30:54.996344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/export.c 2015-09-10 12:31:21.319344661 -0400 +@@ -253,7 +253,7 @@ + + if (fh_desc->len < fh_min) { + LogMajor(COMPONENT_FSAL, +- "Size mismatch for handle. should be >= %lu, got %lu", ++ "Size mismatch for handle. should be >= %zu, got %zu", + fh_min, fh_desc->len); + return fsalstat(ERR_FSAL_SERVERFAULT, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/handle.c.orig 2015-09-10 11:05:27.445344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_PSEUDO/handle.c 2015-09-10 12:22:02.934344661 -0400 +@@ -675,8 +675,9 @@ + case FSAL_DIGEST_NFSV4: + if (fh_desc->len < V4_FH_OPAQUE_SIZE) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %lu, have %lu", +- V4_FH_OPAQUE_SIZE, fh_desc->len); ++ "Space too small for handle. need %lu, have %zu", ++ ((unsigned long) V4_FH_OPAQUE_SIZE), ++ fh_desc->len); + return fsalstat(ERR_FSAL_TOOSMALL, 0); + } + +@@ -850,9 +851,9 @@ + + if (hdl_desc->len != V4_FH_OPAQUE_SIZE) { + LogCrit(COMPONENT_FSAL, +- "Invalid handle size %lu expected %zu", ++ "Invalid handle size %zu expected %lu", + hdl_desc->len, +- V4_FH_OPAQUE_SIZE); ++ ((unsigned long) V4_FH_OPAQUE_SIZE)); + + return fsalstat(ERR_FSAL_BADHANDLE, 0); + } +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/file.c.orig 2015-09-10 11:56:58.263344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/file.c 2015-09-10 11:58:01.350344661 -0400 +@@ -297,7 +297,7 @@ + goto out; + } + LogFullDebug(COMPONENT_FSAL, +- "Locking: op:%d type:%d start:%" PRIu64 " length:%lu ", ++ "Locking: op:%d type:%d start:%" PRIu64 " length:%" PRIu64, + lock_op, request_lock->lock_type, request_lock->lock_start, + request_lock->lock_length); + if (lock_op == FSAL_OP_LOCKT) { +@@ -336,7 +336,7 @@ + */ + if (lock_args.l_len < 0) { + LogCrit(COMPONENT_FSAL, +- "The requested lock length is out of range- lock_args.l_len(%ld), request_lock_length(%lu)", ++ "The requested lock length is out of range- lock_args.l_len(%ld), request_lock_length(%" PRIu64 ")", + lock_args.l_len, request_lock->lock_length); + fsal_error = ERR_FSAL_BAD_RANGE; + goto out; +--- nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/handle.c.orig 2015-09-10 11:53:08.591344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/FSAL/FSAL_VFS/handle.c 2015-09-10 11:54:21.005344661 -0400 +@@ -1711,8 +1711,8 @@ + case FSAL_DIGEST_NFSV4: + if (fh_desc->len < myself->handle->handle_len) { + LogMajor(COMPONENT_FSAL, +- "Space too small for handle. need %d, have %lu", +- (int) myself->handle->handle_len, ++ "Space too small for handle. need %u, have %zu", ++ myself->handle->handle_len, + fh_desc->len); + return fsalstat(ERR_FSAL_TOOSMALL, 0); + } +--- nfs-ganesha-2.3-rc1/src/MainNFSD/nfs_init.c.orig 2015-09-10 09:30:35.696344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/MainNFSD/nfs_init.c 2015-09-10 09:31:35.054344661 -0400 +@@ -196,12 +196,12 @@ + printf("\tDRC_UDP_Checksum = %u ;\n", + nfs_param.core_param.drc.udp.checksum); + printf("\tDecoder_Fridge_Expiration_Delay = %" PRIu64 " ;\n", +- nfs_param.core_param.decoder_fridge_expiration_delay); ++ ((uint64_t) nfs_param.core_param.decoder_fridge_expiration_delay)); + printf("\tDecoder_Fridge_Block_Timeout = %" PRIu64 " ;\n", +- nfs_param.core_param.decoder_fridge_block_timeout); ++ ((uint64_t) nfs_param.core_param.decoder_fridge_block_timeout)); + + printf("\tManage_Gids_Expiration = %" PRIu64 " ;\n", +- nfs_param.core_param.manage_gids_expiration); ++ ((uint64_t) nfs_param.core_param.manage_gids_expiration)); + + if (nfs_param.core_param.drop_io_errors) + printf("\tDrop_IO_Errors = true ;\n"); +--- nfs-ganesha-2.3-rc1/src/Protocols/9P/9p_xattrwalk.c.orig 2015-09-10 11:22:58.239344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/9P/9p_xattrwalk.c 2015-09-10 11:24:26.539344661 -0400 +@@ -56,7 +56,7 @@ + u32 *attrfid = NULL; + u16 *name_len; + char *name_str; +- u64 attrsize = 0LL; ++ size_t attrsize = 0; + + fsal_status_t fsal_status; + char name[MAXNAMLEN]; +@@ -152,7 +152,7 @@ + } + + xattr_cursor = pxattrfid->specdata.xattr.xattr_content; +- attrsize = 0LL; ++ attrsize = 0; + for (i = 0; i < nb_xattrs_read; i++) { + tmplen = + snprintf(xattr_cursor, MAXNAMLEN, "%s", +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_fsstat.c.orig 2015-09-10 10:33:35.075344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_fsstat.c 2015-09-10 10:36:27.213344661 -0400 +@@ -99,7 +99,7 @@ + + if (cache_status == CACHE_INODE_SUCCESS) { + LogFullDebug(COMPONENT_NFSPROTO, +- "nfs_Fsstat --> dynamicinfo.total_bytes=%zu dynamicinfo.free_bytes=%zu dynamicinfo.avail_bytes=%zu", ++ "nfs_Fsstat --> dynamicinfo.total_bytes=%" PRIu64 " dynamicinfo.free_bytes=%" PRIu64 " dynamicinfo.avail_bytes=%" PRIu64, + dynamicinfo.total_bytes, dynamicinfo.free_bytes, + dynamicinfo.avail_bytes); + LogFullDebug(COMPONENT_NFSPROTO, +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_read.c.orig 2015-09-10 10:44:30.812344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_read.c 2015-09-10 10:46:25.586344661 -0400 +@@ -106,7 +106,7 @@ + nfs_FhandleToStr(req->rq_vers, &arg->arg_read3.file, NULL, str); + LogDebug(COMPONENT_NFSPROTO, + "REQUEST PROCESSING: Calling nfs_Read handle: %s start: %" +- PRIu64 " len: %" PRIu64, ++ PRIu64 " len: %zu", + str, offset, size); + } + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_write.c.orig 2015-09-10 10:52:26.791344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs3_write.c 2015-09-10 10:55:23.321344661 -0400 +@@ -109,7 +109,7 @@ + + LogDebug(COMPONENT_NFSPROTO, + "REQUEST PROCESSING: Calling nfs_Write handle: %s start: %" +- PRIx64 " len: %" PRIx64 " %s", ++ PRIx64 " len: %zx %s", + str, offset, size, stables); + } + +@@ -180,7 +180,7 @@ + /* Do not exceed maxium WRITE offset if set */ + if (op_ctx->export->MaxOffsetWrite < UINT64_MAX) { + LogFullDebug(COMPONENT_NFSPROTO, +- "Write offset=%" PRIu64 " count=%" PRIu64 ++ "Write offset=%" PRIu64 " size=%zu" + " MaxOffSet=%" PRIu64, offset, size, + op_ctx->export->MaxOffsetWrite); + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_layoutget.c.orig 2015-09-10 11:27:03.276344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_layoutget.c 2015-09-10 11:30:09.100344661 -0400 +@@ -547,7 +547,7 @@ + nfsstat4 nfs_status = 0; + + LogEvent(COMPONENT_PNFS, +- "LAYOUTERROR OP %d status %d offset: %lu length: %lu", ++ "LAYOUTERROR OP %d status %d offset: %" PRIu64 " length: %" PRIu64, + arg_LAYOUTERROR4->lea_errors.de_opnum, + arg_LAYOUTERROR4->lea_errors.de_status, + arg_LAYOUTERROR4->lea_offset, +@@ -577,12 +577,12 @@ + nfsstat4 nfs_status = 0; + + LogEvent(COMPONENT_PNFS, +- "LAYOUTSTATS offset %lu length %lu", ++ "LAYOUTSTATS offset %" PRIu64 " length %" PRIu64, + arg_LAYOUTSTATS4->lsa_offset, + arg_LAYOUTSTATS4->lsa_length); + + LogEvent(COMPONENT_PNFS, +- "LAYOUTSTATS read count %u bytes %lu write count %u bytes %lu", ++ "LAYOUTSTATS read count %u bytes %" PRIu64 " write count %u bytes %" PRIu64, + arg_LAYOUTSTATS4->lsa_read.ii_count, + arg_LAYOUTSTATS4->lsa_read.ii_bytes, + arg_LAYOUTSTATS4->lsa_write.ii_count, +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_read.c.orig 2015-09-10 11:35:03.095344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs4_op_read.c 2015-09-10 12:33:31.070344661 -0400 +@@ -418,7 +418,7 @@ + if (op_ctx->export->MaxOffsetRead < UINT64_MAX) { + LogFullDebug(COMPONENT_NFS_V4, + "Read offset=%" PRIu64 +- " count=%zd MaxOffSet=%" PRIu64, ++ " size=%" PRIu64 " MaxOffSet=%" PRIu64, + offset, size, + op_ctx->export->MaxOffsetRead); + +@@ -710,7 +710,7 @@ + } + done: + LogDebug(COMPONENT_NFS_V4, +- "Status %s hints 0x%X offset %ld count %ld ", ++ "Status %s hints 0x%X offset %" PRIu64 " count %" PRIu64, + nfsstat4_to_str(res_IO_ADVISE->iaa_status), + hints.hints, hints.offset, hints.count); + +@@ -792,7 +792,7 @@ + } + done: + LogDebug(COMPONENT_NFS_V4, +- "Status %s type %d offset %ld ", ++ "Status %s type %d offset %" PRIu64, + nfsstat4_to_str(res_SEEK->sr_status), arg_SEEK->sa_what, + arg_SEEK->sa_offset); + +--- nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs_proto_tools.c.orig 2015-09-10 12:34:47.664344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/Protocols/NFS/nfs_proto_tools.c 2015-09-10 12:35:56.368344661 -0400 +@@ -3715,7 +3715,7 @@ + nfs3_FSALattr_To_PartialFattr(FSAL_attr, &got, Fattr); + if (want & ~got) { + LogCrit(COMPONENT_NFSPROTO, +- "Likely bug: FSAL did not fill in a standard NFSv3 attribute: missing %lx", ++ "Likely bug: FSAL did not fill in a standard NFSv3 attribute: missing %" PRIx64, + want & ~got); + } + +@@ -4206,6 +4206,6 @@ + if (!(attr->mode & S_ISVTX)) + return false; + +- LogDebug(COMPONENT_NFS_V4, "sticky bit is set on %ld", attr->fileid); ++ LogDebug(COMPONENT_NFS_V4, "sticky bit is set on %" PRIi64, attr->fileid); + return true; + } +--- nfs-ganesha-2.3-rc1/src/SAL/nfs4_recovery.c.orig 2015-09-10 10:14:22.739344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/SAL/nfs4_recovery.c 2015-09-10 10:29:20.513344661 -0400 +@@ -66,8 +66,6 @@ + */ + void nfs4_start_grace(nfs_grace_start_t *gsp) + { +- time_t current_time; +- + if (nfs_param.nfsv4_param.graceless) { + LogEvent(COMPONENT_STATE, + "NFS Server skipping GRACE (Graceless is true)"); +@@ -81,8 +79,7 @@ + * seconds Lease_Lifetime should be set to a smaller value for those + * setups. + */ +- current_time = time(NULL); +- atomic_store_uint64_t(¤t_grace, current_time); ++ atomic_store_time_t(¤t_grace, time(NULL)); + + LogEvent(COMPONENT_STATE, "NFS Server Now IN GRACE, duration %d", + (int)nfs_param.nfsv4_param.lease_lifetime); +@@ -220,7 +217,7 @@ + PATH_MAX) > 0) { + /* convert_opaque_value_max_for_dir does not prefix + * the "(:". So we need to do it here */ +- sprintf(cidstr_len, "%ld", strlen(cidstr)); ++ snprintf(cidstr_len, sizeof cidstr_len, "%zd", strlen(cidstr)); + total_len = strlen(cidstr) + strlen(str_client_addr) + 5 + + strlen(cidstr_len); + /* hold both long form clientid and IP */ +@@ -268,7 +265,7 @@ + PATH_MAX) > 0) { + /* convert_opaque_value_max_for_dir does not prefix + * the "(:". So we need to do it here */ +- sprintf(cidstr_len, "%ld", strlen(cidstr)); ++ snprintf(cidstr_len, sizeof cidstr_len, "%zd", strlen(cidstr)); + total_len = strlen(cidstr) + strlen(buf) + 5 + + strlen(cidstr_len); + /* hold both long form clientid and IP */ +@@ -371,7 +368,7 @@ + dentp->d_name[0] != '\x1') { + continue; + } +- sprintf(del_path, "%s/%s", path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +@@ -576,7 +573,7 @@ + char lopath[PATH_MAX]; + int fd; + +- sprintf(lopath, "%s/", tgtdir); ++ snprintf(lopath, sizeof lopath, "%s/", tgtdir); + strncat(lopath, dentp->d_name, strlen(dentp->d_name)); + fd = creat(lopath, 0700); + if (fd < 0) { +@@ -613,7 +610,7 @@ + if (del) { + char del_path[PATH_MAX]; + +- sprintf(del_path, "%s/%s", path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +@@ -1018,7 +1015,7 @@ + if (dentp->d_name[0] == '\x1') { + char del_path[PATH_MAX]; + +- sprintf(del_path, "%s/%s", parent_path, dentp->d_name); ++ snprintf(del_path, sizeof del_path, "%s/%s", parent_path, dentp->d_name); + if (unlink(del_path) < 0) { + LogEvent(COMPONENT_CLIENTID, + "unlink of %s failed errno: %d", +--- nfs-ganesha-2.3-rc2/src/SAL/nfs4_state_id.c.orig 2015-09-11 18:57:12.988344661 -0400 ++++ nfs-ganesha-2.3-rc2/src/SAL/nfs4_state_id.c 2015-09-11 18:59:07.729344661 -0400 +@@ -370,8 +370,7 @@ + res = ((uint32_t) pkey->state_owner->so_owner.so_nfs4_owner.so_clientid + + (uint32_t) sum + pkey->state_owner->so_owner_len + + (uint32_t) pkey->state_owner->so_type +- + (uint32_t) (uint64_t) pkey->state_entry) +- % (uint32_t) hparam->index_size; ++ + (uintptr_t) pkey->state_entry) % (uint32_t) hparam->index_size; + + if (isDebug(COMPONENT_HASHTABLE)) + LogFullDebug(COMPONENT_STATE, "value = %" PRIu32, res); +@@ -406,7 +405,7 @@ + res = (uint64_t) pkey->state_owner->so_owner.so_nfs4_owner.so_clientid + + (uint64_t) sum + pkey->state_owner->so_owner_len + + (uint64_t) pkey->state_owner->so_type +- + (uint64_t) pkey->state_entry; ++ + (uintptr_t) pkey->state_entry; + + if (isDebug(COMPONENT_HASHTABLE)) + LogFullDebug(COMPONENT_STATE, "rbt = %" PRIu64, res); +--- nfs-ganesha-2.3-rc1/src/support/exports.c.orig 2015-09-10 11:19:42.941344661 -0400 ++++ nfs-ganesha-2.3-rc1/src/support/exports.c 2015-09-10 11:20:44.579344661 -0400 +@@ -818,7 +818,7 @@ + export->fullpath, export->FS_tag, perms); + + LogInfo(COMPONENT_CONFIG, +- "Export %d has %ld defined clients", export->export_id, ++ "Export %d has %zd defined clients", export->export_id, + glist_length(&export->clients)); + put_gsh_export(export); + return 0; diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index f14e710..dea17df 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -73,20 +73,20 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -%global dev_version %{lua: extraver = string.gsub('-rc1', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc2', '%-', ''); print(extraver) } -%global versiontag 2.3-rc1 +%global versiontag 2.3-rc2 Name: nfs-ganesha Version: 2.3.0 -Release: 0.2%{?dev_version:%{dev_version}}%{?dist} +Release: 0.3%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch0: nfs-ganesha-2.3rc1-jumbo.patch +Patch0: nfs-ganesha-2.3rc2-jumbo.patch BuildRequires: cmake BuildRequires: bison flex @@ -97,7 +97,7 @@ BuildRequires: dbus-devel BuildRequires: libcap-devel BuildRequires: libblkid-devel BuildRequires: libuuid-devel -BuildRequires: libntirpc-devel >= 1.2.1-3 +BuildRequires: libntirpc-devel >= 1.3.0 Requires: dbus Requires: nfs-utils %if %{with_nfsidmap} @@ -128,7 +128,7 @@ BuildRequires: initscripts %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. +shared objects to support different file systems and name-spaces. %package mount-9P Summary: a 9p mount helper @@ -360,6 +360,7 @@ mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d mkdir -p %{buildroot}%{_sysconfdir}/sysconfig mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d mkdir -p %{buildroot}%{_bindir} +ln -s %{buildroot}%{_bindir} %{buildroot}/bin mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_libdir}/ganesha mkdir -p %{buildroot}%{_localstatedir}/run/ganesha @@ -418,14 +419,15 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. %if %{with utils} pushd . cd scripts/ganeshactl/ -python setup.py --quiet install --root=%{buildroot} +echo "python setup.py install --root=%{buildroot}" +python setup.py install --root=%{buildroot} popd -install -m 755 Protocols/NLM/sm_notify.ganesha %{buildroot}%{_bindir}/sm_notify.ganesha %endif -make DESTDIR=%{buildroot}/usr install -rm -f %{buildroot}/usr/bin/libntirpc.a -mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir}/ganesha/ +echo "make DESTDIR=%{buildroot} install" +make DESTDIR=%{buildroot} install +mv %{buildroot}/share %{buildroot}/usr/ +rm %{buildroot}/bin %post %if %{with_systemd} @@ -447,7 +449,6 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %license src/LICENSE.txt %defattr(-,root,root,-) %{_bindir}/ganesha.nfsd -#%%{_bindir}/libntirpc.a %config %{_sysconfdir}/dbus-1/system.d/org.ganesha.nfsd.conf %config(noreplace) %{_sysconfdir}/sysconfig/ganesha %config(noreplace) %{_sysconfdir}/logrotate.d/ganesha @@ -582,6 +583,9 @@ mv %{buildroot}/usr%{_sysconfdir}/ganesha/ganesha.conf %{buildroot}%{_sysconfdir %endif %changelog +* Fri Sep 11 2015 Kaleb S. KEITHLEY 2.3.0-0.3rc2 +- 2.3.0 RC2 + * Fri Sep 11 2015 Kaleb S. KEITHLEY 2.3.0-0.2rc1 - 2.3.0 RC1, revised .../SAL/nfs4_state_id.c.patch diff --git a/sources b/sources index f13f252..4d67cc6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -2bc1e87579f1458fba14743fc15abac5 nfs-ganesha-2.3-rc1.tar.gz +1a25d5c0a6e47e5f57d5030ce9417319 nfs-ganesha-2.3-rc2.tar.gz From 7167f8c99b4188696c2752e8b11a550c11f1bd54 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 18 Sep 2015 09:51:58 -0400 Subject: [PATCH 05/21] 2.3.0 RC3 --- nfs-ganesha-2.3rc3-CMakeLists.txt.patch | 62 +++++++++++++++++++ ...c3-scripts-ganeshactl-CMakeLists.txt.patch | 10 +++ nfs-ganesha.spec | 28 +++++---- sources | 2 +- 4 files changed, 88 insertions(+), 14 deletions(-) create mode 100644 nfs-ganesha-2.3rc3-CMakeLists.txt.patch create mode 100644 nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch diff --git a/nfs-ganesha-2.3rc3-CMakeLists.txt.patch b/nfs-ganesha-2.3rc3-CMakeLists.txt.patch new file mode 100644 index 0000000..b344c0f --- /dev/null +++ b/nfs-ganesha-2.3rc3-CMakeLists.txt.patch @@ -0,0 +1,62 @@ +--- nfs-ganesha-2.3-rc2/src/CMakeLists.txt.orig 2015-09-11 19:01:01.530344661 -0400 ++++ nfs-ganesha-2.3-rc2/src/CMakeLists.txt 2015-09-11 19:05:13.269344661 -0400 +@@ -765,9 +765,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) ++ ++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}" +@@ -783,12 +786,6 @@ + + + #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 ntirpc) + + # Find misc system libs + find_library(LIBRT rt) # extended Pthreads functions +@@ -916,6 +913,7 @@ + ${KRB5_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${LIBRT} ++ ${LIBNTIRPC} + ) + + # Config file; make sure it doesn't clobber an existing one +@@ -926,16 +924,6 @@ + # pre-create PREFIX/var/run/ganesha + install(DIRECTORY DESTINATION ${SYSSTATEDIR}/run/ganesha) + +-IF( NOT EXISTS ${PROJECT_SOURCE_DIR}/libntirpc/ganesha/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/ganesha/CMakeLists.txt ) +- + add_subdirectory(log) + add_subdirectory(config_parsing) + add_subdirectory(cidr) +@@ -945,7 +933,6 @@ + add_subdirectory(NodeList) + add_subdirectory(cache_inode) + add_subdirectory(SAL) +-add_subdirectory(libntirpc/ganesha) + add_subdirectory(RPCAL) + add_subdirectory(Protocols) + add_subdirectory(support) diff --git a/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch b/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch new file mode 100644 index 0000000..9b96b12 --- /dev/null +++ b/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch @@ -0,0 +1,10 @@ +--- nfs-ganesha-2.3-rc3/src/scripts/ganeshactl/CMakeLists.txt.orig 2015-09-18 08:12:14.081542533 -0400 ++++ nfs-ganesha-2.3-rc3/src/scripts/ganeshactl/CMakeLists.txt 2015-09-18 08:47:26.199542533 -0400 +@@ -124,6 +124,6 @@ + + install( + CODE +- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})" ++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=${DESTDIR})" + ) + endif(PYTHON) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index dea17df..1c2e124 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -73,20 +73,21 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -%global dev_version %{lua: extraver = string.gsub('-rc2', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc3', '%-', ''); print(extraver) } -%global versiontag 2.3-rc2 +%global versiontag 2.3-rc3 Name: nfs-ganesha Version: 2.3.0 -Release: 0.3%{?dev_version:%{dev_version}}%{?dist} +Release: 0.4%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch0: nfs-ganesha-2.3rc2-jumbo.patch +Patch0: nfs-ganesha-2.3rc3-CMakeLists.txt.patch +Patch1: nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch BuildRequires: cmake BuildRequires: bison flex @@ -322,9 +323,11 @@ be used with NFS-Ganesha to support Gluster %setup -q -n %{name}-%{versiontag} rm -rf contrib/libzfswrapper %patch0 -p1 +%patch1 -p1 %build -%cmake ./src -DCMAKE_BUILD_TYPE=Debug \ +%cmake ./src -DDESTDIR=%{buildroot} \ + -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_CONFIG=rpmbuild \ -DUSE_FSAL_NULL=%{use_fsal_null} \ -DUSE_FSAL_ZFS=NO \ @@ -361,6 +364,8 @@ mkdir -p %{buildroot}%{_sysconfdir}/sysconfig mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d mkdir -p %{buildroot}%{_bindir} ln -s %{buildroot}%{_bindir} %{buildroot}/bin +ln -s %{buildroot}%{_libdir} %{buildroot}/lib64 +ln -s %{buildroot}/usr/lib %{buildroot}/lib mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_libdir}/ganesha mkdir -p %{buildroot}%{_localstatedir}/run/ganesha @@ -416,18 +421,12 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. %endif %endif -%if %{with utils} -pushd . -cd scripts/ganeshactl/ -echo "python setup.py install --root=%{buildroot}" -python setup.py install --root=%{buildroot} -popd -%endif - echo "make DESTDIR=%{buildroot} install" make DESTDIR=%{buildroot} install mv %{buildroot}/share %{buildroot}/usr/ rm %{buildroot}/bin +rm %{buildroot}/lib +rm %{buildroot}/lib64 %post %if %{with_systemd} @@ -583,6 +582,9 @@ rm %{buildroot}/bin %endif %changelog +* Fri Sep 18 2015 Kaleb S. KEITHLEY 2.3.0-0.4rc3 +- 2.3.0 RC3 + * Fri Sep 11 2015 Kaleb S. KEITHLEY 2.3.0-0.3rc2 - 2.3.0 RC2 diff --git a/sources b/sources index 4d67cc6..61cc62e 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -1a25d5c0a6e47e5f57d5030ce9417319 nfs-ganesha-2.3-rc2.tar.gz +79e8cb8dbf5302333e5e7592e7aef032 nfs-ganesha-2.3-rc3.tar.gz From b54dd93806523f9db72df0403c9b1e615196f045 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 28 Sep 2015 10:10:11 -0400 Subject: [PATCH 06/21] 2.3.0 RC4 --- ...c3-scripts-ganeshactl-CMakeLists.txt.patch | 2 +- nfs-ganesha-2.3rc4-CMakeLists.txt.patch | 62 +++++++++++++++++++ nfs-ganesha.spec | 17 ++--- sources | 2 +- 4 files changed, 74 insertions(+), 9 deletions(-) create mode 100644 nfs-ganesha-2.3rc4-CMakeLists.txt.patch diff --git a/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch b/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch index 9b96b12..fe38545 100644 --- a/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch +++ b/nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch @@ -5,6 +5,6 @@ install( CODE - "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})" -+ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=${DESTDIR})" ++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=${DESTDIR}${CMAKE_INSTALL_PREFIX})" ) endif(PYTHON) diff --git a/nfs-ganesha-2.3rc4-CMakeLists.txt.patch b/nfs-ganesha-2.3rc4-CMakeLists.txt.patch new file mode 100644 index 0000000..1cce5ea --- /dev/null +++ b/nfs-ganesha-2.3rc4-CMakeLists.txt.patch @@ -0,0 +1,62 @@ +--- nfs-ganesha-2.3-rc4/src/CMakeLists.txt.orig 2015-09-28 09:41:36.169664072 -0400 ++++ nfs-ganesha-2.3-rc4/src/CMakeLists.txt 2015-09-28 09:44:34.120664072 -0400 +@@ -780,9 +780,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) ++ ++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}" +@@ -798,12 +801,6 @@ + + + #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 ntirpc) + + # Find misc system libs + find_library(LIBRT rt) # extended Pthreads functions +@@ -931,6 +928,7 @@ + ${KRB5_LIBRARIES} + ${CMAKE_THREAD_LIBS_INIT} + ${LIBRT} ++ ${LIBNTIRPC} + ) + + # Config file; make sure it doesn't clobber an existing one +@@ -941,16 +939,6 @@ + # pre-create PREFIX/var/run/ganesha + install(DIRECTORY DESTINATION ${SYSSTATEDIR}/run/ganesha) + +-IF( NOT EXISTS ${PROJECT_SOURCE_DIR}/libntirpc/ganesha/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/ganesha/CMakeLists.txt ) +- + add_subdirectory(log) + add_subdirectory(config_parsing) + add_subdirectory(cidr) +@@ -960,7 +948,6 @@ + add_subdirectory(NodeList) + add_subdirectory(cache_inode) + add_subdirectory(SAL) +-add_subdirectory(libntirpc/ganesha) + add_subdirectory(RPCAL) + add_subdirectory(Protocols) + add_subdirectory(support) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 1c2e124..76a3a24 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -73,20 +73,20 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -%global dev_version %{lua: extraver = string.gsub('-rc3', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc4', '%-', ''); print(extraver) } -%global versiontag 2.3-rc3 +%global versiontag 2.3-rc4 Name: nfs-ganesha Version: 2.3.0 -Release: 0.4%{?dev_version:%{dev_version}}%{?dist} +Release: 0.5%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch0: nfs-ganesha-2.3rc3-CMakeLists.txt.patch +Patch0: nfs-ganesha-2.3rc4-CMakeLists.txt.patch Patch1: nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch BuildRequires: cmake @@ -424,9 +424,9 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. echo "make DESTDIR=%{buildroot} install" make DESTDIR=%{buildroot} install mv %{buildroot}/share %{buildroot}/usr/ -rm %{buildroot}/bin -rm %{buildroot}/lib -rm %{buildroot}/lib64 +rm -f %{buildroot}/bin +rm -f %{buildroot}/lib +rm -f %{buildroot}/lib64 %post %if %{with_systemd} @@ -582,6 +582,9 @@ rm %{buildroot}/lib64 %endif %changelog +* Mon Sep 28 2015 Kaleb S. KEITHLEY 2.3.0-0.5rc4 +- 2.3.0 RC4 + * Fri Sep 18 2015 Kaleb S. KEITHLEY 2.3.0-0.4rc3 - 2.3.0 RC3 diff --git a/sources b/sources index 61cc62e..df6e314 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -79e8cb8dbf5302333e5e7592e7aef032 nfs-ganesha-2.3-rc3.tar.gz +43733ca09f8e40f8f647d0e5232777a1 nfs-ganesha-2.3-rc4.tar.gz From d00a9e0f17cb57267ed636cb798faa32bfe3a0e6 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 5 Oct 2015 08:25:25 -0400 Subject: [PATCH 07/21] 2.3.0 RC5 --- nfs-ganesha.spec | 74 ++++++++++++++++++++++++++++-------------------- sources | 2 +- 2 files changed, 45 insertions(+), 31 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 76a3a24..1de7730 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -73,9 +73,12 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -%global dev_version %{lua: extraver = string.gsub('-rc4', '%-', ''); print(extraver) } +%bcond_with ntirpc +%global use_ntirpc %{on_off_switch ntirpc} -%global versiontag 2.3-rc4 +%global dev_version %{lua: extraver = string.gsub('-rc5', '%-', ''); print(extraver) } + +%global versiontag 2.3-rc5 Name: nfs-ganesha Version: 2.3.0 @@ -86,11 +89,10 @@ License: LGPLv3+ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki Source0: https://github.com/%{name}/%{name}/archive/V%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch0: nfs-ganesha-2.3rc4-CMakeLists.txt.patch Patch1: nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch BuildRequires: cmake -BuildRequires: bison flex +BuildRequires: bison BuildRequires: flex BuildRequires: pkgconfig BuildRequires: krb5-devel @@ -98,7 +100,9 @@ BuildRequires: dbus-devel BuildRequires: libcap-devel BuildRequires: libblkid-devel BuildRequires: libuuid-devel +%if ! %{with ntirpc} BuildRequires: libntirpc-devel >= 1.3.0 +%endif Requires: dbus Requires: nfs-utils %if %{with_nfsidmap} @@ -150,17 +154,6 @@ Requires: nfs-ganesha = %{version}-%{release} This package contains a FSAL shared object to be used with NFS-Ganesha to support VFS based filesystems -%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 - %package proxy Summary: The NFS-GANESHA's PROXY FSAL Group: Applications/System @@ -202,6 +195,18 @@ to the ganesha.nfsd server, it makes it possible to trace using LTTng. # 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 @@ -233,7 +238,8 @@ be used with NFS-Ganesha to support CEPH %package lustre Summary: The NFS-GANESHA's LUSTRE FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release}, lustre +Requires: nfs-ganesha = %{version}-%{release} +Requires: lustre BuildRequires: libattr-devel lustre %description lustre @@ -259,7 +265,7 @@ be used with NFS-Ganesha to support LUSTRE via SHOOK %package xfs Summary: The NFS-GANESHA's XFS FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} +Requires: nfs-ganesha = %{version}-%{release} BuildRequires: libattr-devel xfsprogs-devel %description xfs @@ -272,7 +278,7 @@ to support XFS correctly %package hpss Summary: The NFS-GANESHA's HPSS FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} +Requires: nfs-ganesha = %{version}-%{release} #BuildRequires: hpssfs %description hpss @@ -285,7 +291,7 @@ be used with NFS-Ganesha to support HPSS %package panfs Summary: The NFS-GANESHA's PANFS FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} +Requires: nfs-ganesha = %{version}-%{release} %description panfs This package contains a FSAL shared object to @@ -299,6 +305,7 @@ 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 @@ -309,7 +316,7 @@ be used with NFS-Ganesha to support PT %package gluster Summary: The NFS-GANESHA's GLUSTER FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} +Requires: nfs-ganesha = %{version}-%{release} BuildRequires: glusterfs-api-devel >= 3.7.4 BuildRequires: libattr-devel BuildRequires: libacl-devel @@ -322,7 +329,6 @@ be used with NFS-Ganesha to support Gluster %prep %setup -q -n %{name}-%{versiontag} rm -rf contrib/libzfswrapper -%patch0 -p1 %patch1 -p1 %build @@ -393,7 +399,6 @@ install -m 644 scripts/init.d/sysconfig/ganesha %{buildroot}%{_sysconfdir}/sysc %endif %if %{with pt} -install -m 755 src/ganesha.pt.init %{buildroot}%{_sysconfdir}/init.d/nfs-ganesha-pt install -m 644 src/config_samples/pt.conf %{buildroot}%{_sysconfdir}/ganesha %endif @@ -410,18 +415,17 @@ install -m 755 src/config_samples/lustre.conf %{buildroot}%{_sysconfdir}/ganesha %endif %if %{with gpfs} -install -m 644 src/config_samples/gpfs.conf %{buildroot}%{_sysconfdir}/ganesha -install -m 644 src/config_samples/gpfs.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/ganesha -install -m 644 src/config_samples/gpfs.ganesha.main.conf %{buildroot}%{_sysconfdir}/ganesha -install -m 644 src/config_samples/gpfs.ganesha.log.conf %{buildroot}%{_sysconfdir}/ganesha -install -m 644 src/config_samples/gpfs.ganesha.exports.conf %{buildroot}%{_sysconfdir}/ganesha +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 -echo "make DESTDIR=%{buildroot} install" make DESTDIR=%{buildroot} install mv %{buildroot}/share %{buildroot}/usr/ rm -f %{buildroot}/bin @@ -448,6 +452,13 @@ rm -f %{buildroot}/lib64 %license src/LICENSE.txt %defattr(-,root,root,-) %{_bindir}/ganesha.nfsd +%if %{with 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 @@ -467,7 +478,6 @@ rm -f %{buildroot}/lib64 %files mount-9P %defattr(-,root,root,-) %{_sbindir}/mount.9P -%{_bindir}/*_stats_9pOps %files vfs @@ -550,7 +560,6 @@ rm -f %{buildroot}/lib64 %files pt %defattr(-,root,root,-) %{_libdir}/ganesha/libfsalpt* -%config(noreplace) %{_sysconfdir}/init.d/nfs-ganesha-pt %config(noreplace) %{_sysconfdir}/ganesha/pt.conf %endif @@ -571,6 +580,8 @@ rm -f %{buildroot}/lib64 %{_bindir}/manage_exports %{_bindir}/manage_logger %{_bindir}/ganeshactl +%{_bindir}/client_stats_9pOps +%{_bindir}/export_stats_9pOps %endif %{_bindir}/fake_recall %{_bindir}/get_clientids @@ -582,6 +593,9 @@ rm -f %{buildroot}/lib64 %endif %changelog +* Mon Oct 5 2015 Kaleb S. KEITHLEY 2.3.0-0.6rc5 +- 2.3.0 RC5 + * Mon Sep 28 2015 Kaleb S. KEITHLEY 2.3.0-0.5rc4 - 2.3.0 RC4 diff --git a/sources b/sources index df6e314..ed18fe5 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -43733ca09f8e40f8f647d0e5232777a1 nfs-ganesha-2.3-rc4.tar.gz +0a66bbe84da1c694d1d502669e85ff99 nfs-ganesha-2.3-rc5.tar.gz From 679ca6c49c56c75b732e0ea0a150552a0ea8a445 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 5 Oct 2015 08:38:04 -0400 Subject: [PATCH 08/21] 2.3.0 RC5 --- nfs-ganesha.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 1de7730..2483f4c 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,7 +82,7 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.5%{?dev_version:%{dev_version}}%{?dist} +Release: 0.6%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ From 400ed36d12b74c71c7483b540c7417bbef6c9c3f Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 6 Oct 2015 18:04:41 -0400 Subject: [PATCH 09/21] 2.3.0 RC5 revised scripts/ganeshactl/CMakeLists.txt.patch --- ...c5-scripts-ganeshactl-CMakeLists.txt.patch | 10 +++ nfs-ganesha.spec | 65 +++++++++---------- 2 files changed, 40 insertions(+), 35 deletions(-) create mode 100644 nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch diff --git a/nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch b/nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch new file mode 100644 index 0000000..dd230e3 --- /dev/null +++ b/nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch @@ -0,0 +1,10 @@ +--- nfs-ganesha-2.3-rc5/src/scripts/ganeshactl/CMakeLists.txt.orig 2015-10-06 14:15:53.881664072 -0400 ++++ nfs-ganesha-2.3-rc5/src/scripts/ganeshactl/CMakeLists.txt 2015-10-06 14:16:16.232664072 -0400 +@@ -124,6 +124,6 @@ + + install( + CODE +- "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})" ++ "execute_process(WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PYTHON} ${SETUP_PY} install --skip-build --prefix=\$ENV{DESTDIR}${CMAKE_INSTALL_PREFIX})" + ) + endif(PYTHON) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 2483f4c..875d370 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,14 +82,14 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.6%{?dev_version:%{dev_version}}%{?dist} +Release: 0.7%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch1: nfs-ganesha-2.3rc3-scripts-ganeshactl-CMakeLists.txt.patch +Patch1: nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch BuildRequires: cmake BuildRequires: bison @@ -117,11 +117,11 @@ BuildRequires: libmooshika-devel >= 0.6-0 BuildRequires: jemalloc-devel %endif %if %{with lustre_up} -BuildRequires: lcap-devel >= 0.1-0 +BuildRequires: lcap-devel >= 0.1-0 %endif %if %{with_systemd} -BuildRequires: systemd -Requires(post): systemd +BuildRequires: systemd +Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %else @@ -168,8 +168,7 @@ be used with NFS-Ganesha to support PROXY based filesystems %package utils Summary: The NFS-GANESHA's util scripts Group: Applications/System -Requires: dbus-python -Requires: pygobject2 +Requires: dbus-python, pygobject2 %if %{with gui_utils} BuildRequires: PyQt4-devel Requires: PyQt4 @@ -224,9 +223,9 @@ be used with NFS-Ganesha to support GPFS backend %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 -Requires: nfs-ganesha = %{version}-%{release} %description ceph This package contains a FSAL shared object to @@ -252,7 +251,8 @@ be used with NFS-Ganesha to support LUSTRE %package shook Summary: The NFS-GANESHA's LUSTRE/SHOOK FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release}, lustre, shook-client +Requires: nfs-ganesha = %{version}-%{release} +Requires: lustre shook-client BuildRequires: libattr-devel lustre shook-devel %description shook @@ -303,7 +303,7 @@ be used with NFS-Ganesha to support PANFS %package pt Summary: The NFS-GANESHA's PT FSAL Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} +Requires: nfs-ganesha = %{version}-%{release} %description pt @@ -317,9 +317,8 @@ be used with NFS-Ganesha to support PT 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 -BuildRequires: libacl-devel +BuildRequires: glusterfs-api-devel >= 3.7.4 +BuildRequires: libattr-devel, libacl-devel %description gluster This package contains a FSAL shared object to @@ -332,8 +331,7 @@ rm -rf contrib/libzfswrapper %patch1 -p1 %build -%cmake ./src -DDESTDIR=%{buildroot} \ - -DCMAKE_BUILD_TYPE=Debug \ +cd src && %cmake . -DCMAKE_BUILD_TYPE=Debug \ -DBUILD_CONFIG=rpmbuild \ -DUSE_FSAL_NULL=%{use_fsal_null} \ -DUSE_FSAL_ZFS=NO \ @@ -356,7 +354,6 @@ rm -rf contrib/libzfswrapper -DUSE_DBUS=ON \ -DUSE_9P=ON \ -DDISTNAME_HAS_GIT_DATA=OFF \ - -DCMAKE_INSTALL_PREFIX= \ %if %{with jemalloc} -DALLOCATOR=jemalloc %endif @@ -369,23 +366,21 @@ mkdir -p %{buildroot}%{_sysconfdir}/dbus-1/system.d mkdir -p %{buildroot}%{_sysconfdir}/sysconfig mkdir -p %{buildroot}%{_sysconfdir}/logrotate.d mkdir -p %{buildroot}%{_bindir} -ln -s %{buildroot}%{_bindir} %{buildroot}/bin -ln -s %{buildroot}%{_libdir} %{buildroot}/lib64 -ln -s %{buildroot}/usr/lib %{buildroot}/lib mkdir -p %{buildroot}%{_sbindir} mkdir -p %{buildroot}%{_libdir}/ganesha mkdir -p %{buildroot}%{_localstatedir}/run/ganesha -install -m 644 src/config_samples/logrotate_ganesha %{buildroot}%{_sysconfdir}/logrotate.d/ganesha -install -m 644 src/scripts/ganeshactl/org.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d -install -m 755 src/tools/mount.9P %{buildroot}%{_sbindir}/mount.9P +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 tools/mount.9P %{buildroot}%{_sbindir}/mount.9P -install -m 644 src/config_samples/vfs.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 config_samples/vfs.conf %{buildroot}%{_sysconfdir}/ganesha %if %{with_systemd} mkdir -p %{buildroot}%{_unitdir} -install -m 644 src/scripts/systemd/nfs-ganesha.service %{buildroot}%{_unitdir}/nfs-ganesha.service -install -m 644 src/scripts/systemd/nfs-ganesha-lock.service %{buildroot}%{_unitdir}/nfs-ganesha-lock.service -install -m 644 src/scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha +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/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 @@ -399,23 +394,23 @@ install -m 644 scripts/init.d/sysconfig/ganesha %{buildroot}%{_sysconfdir}/sysc %endif %if %{with pt} -install -m 644 src/config_samples/pt.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 config_samples/pt.conf %{buildroot}%{_sysconfdir}/ganesha %endif %if %{with xfs} -install -m 644 src/config_samples/xfs.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 config_samples/xfs.conf %{buildroot}%{_sysconfdir}/ganesha %endif %if %{with ceph} -install -m 644 src/config_samples/ceph.conf %{buildroot}%{_sysconfdir}/ganesha +install -m 644 config_samples/ceph.conf %{buildroot}%{_sysconfdir}/ganesha %endif %if %{with lustre} -install -m 755 src/config_samples/lustre.conf %{buildroot}%{_sysconfdir}/ganesha +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.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 @@ -427,10 +422,7 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. %endif make DESTDIR=%{buildroot} install -mv %{buildroot}/share %{buildroot}/usr/ -rm -f %{buildroot}/bin -rm -f %{buildroot}/lib -rm -f %{buildroot}/lib64 +mv %{buildroot}/usr/%{_sysconfdir}/ganesha/* %{buildroot}/%{_sysconfdir}/ganesha %post %if %{with_systemd} @@ -593,6 +585,9 @@ rm -f %{buildroot}/lib64 %endif %changelog +* Tue Oct 6 2015 Kaleb S. KEITHLEY 2.3.0-0.7rc5 +- 2.3.0 RC5 revised scripts/ganeshactl/CMakeLists.txt.patch + * Mon Oct 5 2015 Kaleb S. KEITHLEY 2.3.0-0.6rc5 - 2.3.0 RC5 From f5b950a26855e40197a2607514ed33a4040e5edf Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 7 Oct 2015 13:18:04 -0400 Subject: [PATCH 10/21] 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha --- nfs-ganesha.spec | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 875d370..df4fd08 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,7 +82,7 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.7%{?dev_version:%{dev_version}}%{?dist} +Release: 0.8%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -138,7 +138,6 @@ shared objects to support different file systems and name-spaces. %package mount-9P Summary: a 9p mount helper Group: Applications/System -Requires: nfs-ganesha = %{version}-%{release} %description mount-9P This package contains the mount.9P script that clients can use @@ -585,6 +584,9 @@ mv %{buildroot}/usr/%{_sysconfdir}/ganesha/* %{buildroot}/%{_sysconfdir}/ganesha %endif %changelog +* Web Oct 7 2015 Kaleb S. KEITHLEY 2.3.0-0.8rc5 +- 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha + * Tue Oct 6 2015 Kaleb S. KEITHLEY 2.3.0-0.7rc5 - 2.3.0 RC5 revised scripts/ganeshactl/CMakeLists.txt.patch From 302dfa5b93408df33fb80e2f1fd70999c680a177 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 7 Oct 2015 13:19:04 -0400 Subject: [PATCH 11/21] 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha --- nfs-ganesha.spec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index df4fd08..09f9861 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -584,7 +584,7 @@ mv %{buildroot}/usr/%{_sysconfdir}/ganesha/* %{buildroot}/%{_sysconfdir}/ganesha %endif %changelog -* Web Oct 7 2015 Kaleb S. KEITHLEY 2.3.0-0.8rc5 +* Wed Oct 7 2015 Kaleb S. KEITHLEY 2.3.0-0.8rc5 - 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha * Tue Oct 6 2015 Kaleb S. KEITHLEY 2.3.0-0.7rc5 From d094224413f5794f6198e4732797cb9d6383d52e Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Fri, 9 Oct 2015 08:06:45 -0400 Subject: [PATCH 12/21] 2.3.0 RC5 w/ CMakeLists.txt.patch and config-h.in.cmake.patch --- nfs-ganesha-2.3rc5-CMakeLists.txt.patch | 20 +++++++++++++++++++ ...sha-2.3rc5-include-config-h.in.cmake.patch | 11 ++++++++++ nfs-ganesha.spec | 10 ++++++++-- 3 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 nfs-ganesha-2.3rc5-CMakeLists.txt.patch create mode 100644 nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch diff --git a/nfs-ganesha-2.3rc5-CMakeLists.txt.patch b/nfs-ganesha-2.3rc5-CMakeLists.txt.patch new file mode 100644 index 0000000..ba6d6d2 --- /dev/null +++ b/nfs-ganesha-2.3rc5-CMakeLists.txt.patch @@ -0,0 +1,20 @@ +--- nfs-ganesha-2.3-rc5/src/CMakeLists.txt.orig 2015-10-05 07:32:38.294664072 -0400 ++++ nfs-ganesha-2.3-rc5/src/CMakeLists.txt 2015-10-08 14:20:40.238664072 -0400 +@@ -20,7 +20,7 @@ + set(GANESHA_MINOR_VERSION 3) + + # needs to come after project() +-IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) ++IF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR CMAKE_INSTALL_PREFIX STREQUAL "/usr") + SET(CMAKE_INSTALL_PREFIX "/usr" CACHE PATH "Install prefix for common files" FORCE) + message(STATUS "override default CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + SET(SYSCONFDIR "/etc" CACHE PATH "Install prefix for common files" FORCE) +@@ -29,7 +29,7 @@ + message(STATUS "was set CMAKE_INSTALL_PREFIX = ${CMAKE_INSTALL_PREFIX}") + SET(SYSCONFDIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "Install prefix for common files" FORCE) + SET(SYSSTATEDIR "${CMAKE_INSTALL_PREFIX}/var" CACHE PATH "Install prefix for common files" FORCE) +-ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT) ++ENDIF(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR CMAKE_INSTALL_PREFIX STREQUAL "/usr") + # Patch level is always ".0" for mainline (master). It is blank for development. + # When starting a stable maintenance branch, this becomes ".N" + # where N is monotonically increasing starting at 1. Remember to include the "." !! diff --git a/nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch b/nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch new file mode 100644 index 0000000..a8125b4 --- /dev/null +++ b/nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch @@ -0,0 +1,11 @@ +--- nfs-ganesha-2.3-rc5/src/include/config-h.in.cmake.orig 2015-10-08 15:04:29.232664072 -0400 ++++ nfs-ganesha-2.3-rc5/src/include/config-h.in.cmake 2015-10-08 15:04:45.637664072 -0400 +@@ -14,7 +14,7 @@ + #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@" ++#define FSAL_MODULE_LOC "@FSAL_DESTINATION@" + /* Build controls */ + + #cmakedefine _MSPAC_SUPPORT 1 diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 09f9861..ffee1b5 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,14 +82,16 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.8%{?dev_version:%{dev_version}}%{?dist} +Release: 0.9%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz +Patch0: nfs-ganesha-2.3rc5-CMakeLists.txt.patch Patch1: nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch +Patch2: nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch BuildRequires: cmake BuildRequires: bison @@ -327,7 +329,9 @@ be used with NFS-Ganesha to support Gluster %prep %setup -q -n %{name}-%{versiontag} rm -rf contrib/libzfswrapper +%patch0 -p1 %patch1 -p1 +%patch2 -p1 %build cd src && %cmake . -DCMAKE_BUILD_TYPE=Debug \ @@ -421,7 +425,6 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. %endif make DESTDIR=%{buildroot} install -mv %{buildroot}/usr/%{_sysconfdir}/ganesha/* %{buildroot}/%{_sysconfdir}/ganesha %post %if %{with_systemd} @@ -584,6 +587,9 @@ mv %{buildroot}/usr/%{_sysconfdir}/ganesha/* %{buildroot}/%{_sysconfdir}/ganesha %endif %changelog +* Thu Oct 8 2015 Kaleb S. KEITHLEY 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 2.3.0-0.8rc5 - 2.3.0 RC5 mount-9p w/o Requires: nfs-ganesha From a1c11017c1abf78118656e0681109d7fe185881e Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 12 Oct 2015 08:32:26 -0400 Subject: [PATCH 13/21] 2.3.0 RC6 --- nfs-ganesha.spec | 24 +++++++++++------------- sources | 2 +- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index ffee1b5..29a600e 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -73,25 +73,22 @@ %bcond_without gui_utils %global use_gui_utils %{on_off_switch gui_utils} -%bcond_with ntirpc -%global use_ntirpc %{on_off_switch ntirpc} +%bcond_without system_ntirpc +%global use_system_ntirpc %{on_off_switch system_ntirpc} -%global dev_version %{lua: extraver = string.gsub('-rc5', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc6', '%-', ''); print(extraver) } -%global versiontag 2.3-rc5 +%global versiontag 2.3-rc6 Name: nfs-ganesha Version: 2.3.0 -Release: 0.9%{?dev_version:%{dev_version}}%{?dist} +Release: 0.10%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz -Patch0: nfs-ganesha-2.3rc5-CMakeLists.txt.patch -Patch1: nfs-ganesha-2.3rc5-scripts-ganeshactl-CMakeLists.txt.patch -Patch2: nfs-ganesha-2.3rc5-include-config-h.in.cmake.patch BuildRequires: cmake BuildRequires: bison @@ -102,7 +99,7 @@ BuildRequires: dbus-devel BuildRequires: libcap-devel BuildRequires: libblkid-devel BuildRequires: libuuid-devel -%if ! %{with ntirpc} +%if %{with system_ntirpc} BuildRequires: libntirpc-devel >= 1.3.0 %endif Requires: dbus @@ -329,9 +326,6 @@ be used with NFS-Ganesha to support Gluster %prep %setup -q -n %{name}-%{versiontag} rm -rf contrib/libzfswrapper -%patch0 -p1 -%patch1 -p1 -%patch2 -p1 %build cd src && %cmake . -DCMAKE_BUILD_TYPE=Debug \ @@ -347,6 +341,7 @@ cd src && %cmake . -DCMAKE_BUILD_TYPE=Debug \ -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} \ @@ -446,7 +441,7 @@ make DESTDIR=%{buildroot} install %license src/LICENSE.txt %defattr(-,root,root,-) %{_bindir}/ganesha.nfsd -%if %{with ntirpc} +%if ! %{with system_ntirpc} %{_libdir}/libntirpc.so.1.3.0 %{_libdir}/libntirpc.so.1.3 %{_libdir}/libntirpc.so @@ -587,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Mon Oct 12 2015 Kaleb S. KEITHLEY 2.3.0-0.10rc6 +- 2.3.0 RC6 + * Thu Oct 8 2015 Kaleb S. KEITHLEY 2.3.0-0.9rc5 - 2.3.0 RC5 w/ CMakeLists.txt.patch and config-h.in.cmake.patch diff --git a/sources b/sources index ed18fe5..7fb2383 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0a66bbe84da1c694d1d502669e85ff99 nfs-ganesha-2.3-rc5.tar.gz +0783c488e81906f28dcf67f5f9d0b029 nfs-ganesha-2.3-rc6.tar.gz From 90169e75f108c0f394818c3b7ce05be79991f605 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 19 Oct 2015 07:37:25 -0400 Subject: [PATCH 14/21] 2.3.0 RC7 --- nfs-ganesha.spec | 7 +++++-- sources | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 29a600e..c5bcfeb 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -78,11 +78,11 @@ %global dev_version %{lua: extraver = string.gsub('-rc6', '%-', ''); print(extraver) } -%global versiontag 2.3-rc6 +%global versiontag 2.3-rc7 Name: nfs-ganesha Version: 2.3.0 -Release: 0.10%{?dev_version:%{dev_version}}%{?dist} +Release: 0.11%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -582,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Mon Oct 19 2015 Kaleb S. KEITHLEY 2.3.0-0.11rc7 +- 2.3.0 RC7 + * Mon Oct 12 2015 Kaleb S. KEITHLEY 2.3.0-0.10rc6 - 2.3.0 RC6 diff --git a/sources b/sources index 7fb2383..721e655 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -0783c488e81906f28dcf67f5f9d0b029 nfs-ganesha-2.3-rc6.tar.gz +fc44497b34db29db1f277e8faebf60b4 nfs-ganesha-2.3-rc7.tar.gz From 5332552d61b393cf6376980cf58eafd3f911728d Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Thu, 22 Oct 2015 10:24:58 -0400 Subject: [PATCH 15/21] 2.3.0 RC7 (N.B. 2.3.0-0.11rc6 was really rc7) --- nfs-ganesha.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index c5bcfeb..022ca14 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -76,13 +76,13 @@ %bcond_without system_ntirpc %global use_system_ntirpc %{on_off_switch system_ntirpc} -%global dev_version %{lua: extraver = string.gsub('-rc6', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc7', '%-', ''); print(extraver) } %global versiontag 2.3-rc7 Name: nfs-ganesha Version: 2.3.0 -Release: 0.11%{?dev_version:%{dev_version}}%{?dist} +Release: 0.12%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -582,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Thu Oct 22 2015 Kaleb S. KEITHLEY 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 2.3.0-0.11rc7 - 2.3.0 RC7 From d6efe1f15232a393dbaea3c3d927da3cce276458 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Sun, 25 Oct 2015 07:46:42 -0400 Subject: [PATCH 16/21] 2.3.0 RC8 --- nfs-ganesha.spec | 9 ++++++--- sources | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 022ca14..e229967 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -76,13 +76,13 @@ %bcond_without system_ntirpc %global use_system_ntirpc %{on_off_switch system_ntirpc} -%global dev_version %{lua: extraver = string.gsub('-rc7', '%-', ''); print(extraver) } +%global dev_version %{lua: extraver = string.gsub('-rc8', '%-', ''); print(extraver) } -%global versiontag 2.3-rc7 +%global versiontag 2.3-rc8 Name: nfs-ganesha Version: 2.3.0 -Release: 0.12%{?dev_version:%{dev_version}}%{?dist} +Release: 0.13%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -582,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Sun Oct 25 2015 Kaleb S. KEITHLEY 2.3.0-0.13rc8 +- 2.3.0 RC8 + * Thu Oct 22 2015 Kaleb S. KEITHLEY 2.3.0-0.12rc7 - 2.3.0 RC7 (N.B. 2.3.0-0.11rc6 was really rc7) diff --git a/sources b/sources index 721e655..6594242 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -fc44497b34db29db1f277e8faebf60b4 nfs-ganesha-2.3-rc7.tar.gz +7ba0085bdf92f4b5ce917bd4792027f6 nfs-ganesha-2.3-rc8.tar.gz From 5b0ac11964d6bdeef4aaf057105ae5d9eb6a15a0 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Mon, 26 Oct 2015 13:15:47 -0400 Subject: [PATCH 17/21] 2.3.0 RC8, rebuild with libntirpc-1.3.1 --- nfs-ganesha.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index e229967..df34c52 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,7 +82,7 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.13%{?dev_version:%{dev_version}}%{?dist} +Release: 0.14%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -582,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Mon Oct 26 2015 Kaleb S. KEITHLEY 2.3.0-0.14rc8 +- 2.3.0 RC8, rebuild with libntirpc-1.3.1 + * Sun Oct 25 2015 Kaleb S. KEITHLEY 2.3.0-0.13rc8 - 2.3.0 RC8 From f31e32d71212078b68948c618993fd07f1226209 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Tue, 27 Oct 2015 08:44:46 -0400 Subject: [PATCH 18/21] 2.3.0 RC8, rebuild with libntirpc-1.3.1, again --- nfs-ganesha.spec | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index df34c52..5e8b41a 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -82,7 +82,7 @@ Name: nfs-ganesha Version: 2.3.0 -Release: 0.14%{?dev_version:%{dev_version}}%{?dist} +Release: 0.15%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a NFS Server running in user space Group: Applications/System License: LGPLv3+ @@ -100,7 +100,7 @@ BuildRequires: libcap-devel BuildRequires: libblkid-devel BuildRequires: libuuid-devel %if %{with system_ntirpc} -BuildRequires: libntirpc-devel >= 1.3.0 +BuildRequires: libntirpc-devel >= 1.3.1 %endif Requires: dbus Requires: nfs-utils @@ -582,6 +582,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Tue Oct 27 2015 Kaleb S. KEITHLEY 2.3.0-0.15rc8 +- 2.3.0 RC8, rebuild with libntirpc-1.3.1, again + * Mon Oct 26 2015 Kaleb S. KEITHLEY 2.3.0-0.14rc8 - 2.3.0 RC8, rebuild with libntirpc-1.3.1 From e7e905fcd808006e22d3e59d509a8d1c7e0f4311 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 28 Oct 2015 10:07:49 -0400 Subject: [PATCH 19/21] 2.3.0 GA --- nfs-ganesha.spec | 23 ++++++++++++----------- sources | 2 +- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index 5e8b41a..bd90e2e 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -1,5 +1,5 @@ -%global _hardened_build 1 +%global _hardened_build 1 %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7 %global with_nfsidmap 1 @@ -76,19 +76,17 @@ %bcond_without system_ntirpc %global use_system_ntirpc %{on_off_switch system_ntirpc} -%global dev_version %{lua: extraver = string.gsub('-rc8', '%-', ''); print(extraver) } - -%global versiontag 2.3-rc8 +%global dev_version %{lua: extraver = string.gsub('', '%-', '.'); print(extraver) } Name: nfs-ganesha Version: 2.3.0 -Release: 0.15%{?dev_version:%{dev_version}}%{?dist} +Release: 1%{?dev_version:%{dev_version}}%{?dist} Summary: NFS-Ganesha is a 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%{versiontag}/%{name}-%{versiontag}.tar.gz +Source0: https://github.com/%{name}/%{name}/archive/V%{version}/%{name}-%{version}%{dev_version}.tar.gz BuildRequires: cmake BuildRequires: bison @@ -315,8 +313,8 @@ be used with NFS-Ganesha to support PT 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 +BuildRequires: glusterfs-api-devel >= 3.7.4 +BuildRequires: libattr-devel, libacl-devel %description gluster This package contains a FSAL shared object to @@ -324,7 +322,7 @@ be used with NFS-Ganesha to support Gluster %endif %prep -%setup -q -n %{name}-%{versiontag} +%setup -q -n %{name}-%{version}%{dev_version} rm -rf contrib/libzfswrapper %build @@ -582,6 +580,9 @@ make DESTDIR=%{buildroot} install %endif %changelog +* Wed Oct 28 2015 Kaleb S. KEITHLEY 2.3.0-1 +- 2.3.0 GA + * Tue Oct 27 2015 Kaleb S. KEITHLEY 2.3.0-0.15rc8 - 2.3.0 RC8, rebuild with libntirpc-1.3.1, again @@ -643,7 +644,7 @@ make DESTDIR=%{buildroot} install - improve readability and allow "rpmbuild --with .." options again * Fri May 15 2015 Kaleb S. KEITHLEY 2.2.0-2 -- %license, build with glusterfs-3.7.0 GA +- %%license, build with glusterfs-3.7.0 GA * Tue Apr 21 2015 Kaleb S. KEITHLEY 2.2.0-1 - 2.2.0 GA @@ -679,7 +680,7 @@ make DESTDIR=%{buildroot} install - 2.2.0-0.4rc3 * Mon Feb 16 2015 Kaleb S. KEITHLEY 2.2.0-0.3rc2 -- subpackage Requires: nfs-ganesha = %{version}-%{release} +- subpackage Requires: nfs-ganesha = %%{version}-%%{release} * Mon Feb 16 2015 Kaleb S. KEITHLEY 2.2.0-0.2rc2 - 2.2.0-0.2rc2 diff --git a/sources b/sources index 6594242..336ad82 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -7ba0085bdf92f4b5ce917bd4792027f6 nfs-ganesha-2.3-rc8.tar.gz +feb466ad1ea3e34a54819768e6d22450 nfs-ganesha-2.3.0.tar.gz From d83f15c0f92cdf296af10a1a4af81cb123fe2438 Mon Sep 17 00:00:00 2001 From: "Kaleb S. KEITHLEY" Date: Wed, 28 Oct 2015 12:38:54 -0400 Subject: [PATCH 20/21] Add ChangeLog to %files:%doc --- nfs-ganesha.spec | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index bd90e2e..e7460c5 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -419,6 +419,8 @@ install -m 755 scripts/init.d/nfs-ganesha.gpfs %{buildroot}%{_sysconfdir}/init. make DESTDIR=%{buildroot} install +install -m 644 ChangeLog %{buildroot}%{_defaultdocdir}/ganesha + %post %if %{with_systemd} %systemd_post nfs-ganesha.service @@ -437,7 +439,6 @@ make DESTDIR=%{buildroot} install %files %license src/LICENSE.txt -%defattr(-,root,root,-) %{_bindir}/ganesha.nfsd %if ! %{with system_ntirpc} %{_libdir}/libntirpc.so.1.3.0 @@ -453,6 +454,7 @@ make DESTDIR=%{buildroot} install %config(noreplace) %{_sysconfdir}/ganesha/ganesha.conf %dir %{_defaultdocdir}/ganesha/ %{_defaultdocdir}/ganesha/* +%doc %{_defaultdocdir}/ganesha/ChangeLog %dir %{_localstatedir}/run/ganesha %if %{with_systemd} @@ -463,30 +465,25 @@ make DESTDIR=%{buildroot} install %endif %files mount-9P -%defattr(-,root,root,-) %{_sbindir}/mount.9P %files vfs -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalvfs* %config(noreplace) %{_sysconfdir}/ganesha/vfs.conf %files proxy -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalproxy* # Optional packages %if %{with nullfs} %files nullfs -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalnull* %endif %if %{with gpfs} %files gpfs -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalgpfs* %config(noreplace) %{_sysconfdir}/ganesha/gpfs.conf %config(noreplace) %{_sysconfdir}/ganesha/gpfs.ganesha.nfsd.conf @@ -500,65 +497,55 @@ make DESTDIR=%{buildroot} install %if %{with xfs} %files xfs -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalxfs* %config(noreplace) %{_sysconfdir}/ganesha/xfs.conf %endif %if %{with ceph} %files ceph -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalceph* %config(noreplace) %{_sysconfdir}/ganesha/ceph.conf %endif %if %{with lustre} %files lustre -%defattr(-,root,root,-) %config(noreplace) %{_sysconfdir}/ganesha/lustre.conf %{_libdir}/ganesha/libfsallustre* %endif %if %{with shook} %files shook -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalshook* %endif %if %{with gluster} %files gluster -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalgluster* %endif %if %{with hpss} %files hpss -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalhpss* %endif %if %{with panfs} %files panfs -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalpanfs* %endif %if %{with pt} %files pt -%defattr(-,root,root,-) %{_libdir}/ganesha/libfsalpt* %config(noreplace) %{_sysconfdir}/ganesha/pt.conf %endif %if %{with lttng} %files lttng -%defattr(-,root,root,-) %{_libdir}/ganesha/libganesha_trace* %endif %if %{with utils} %files utils -%defattr(-,root,root,-) %{python2_sitelib}/Ganesha/* %{python2_sitelib}/ganeshactl-*-info %if %{with gui_utils} From 8bcfe55a1e9f185c2a69e0866aca104f7fad3cc9 Mon Sep 17 00:00:00 2001 From: Kaleb S KEITHLEY Date: Wed, 16 Mar 2016 01:15:30 -0400 Subject: [PATCH 21/21] 2.3.1 GA --- nfs-ganesha.spec | 12 ++++++++++-- sources | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nfs-ganesha.spec b/nfs-ganesha.spec index e7460c5..5115649 100644 --- a/nfs-ganesha.spec +++ b/nfs-ganesha.spec @@ -79,9 +79,9 @@ %global dev_version %{lua: extraver = string.gsub('', '%-', '.'); print(extraver) } Name: nfs-ganesha -Version: 2.3.0 +Version: 2.3.1 Release: 1%{?dev_version:%{dev_version}}%{?dist} -Summary: NFS-Ganesha is a NFS Server running in user space +Summary: NFS Server running in user space Group: Applications/System License: LGPLv3+ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki @@ -102,6 +102,11 @@ 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 @@ -567,6 +572,9 @@ install -m 644 ChangeLog %{buildroot}%{_defaultdocdir}/ganesha %endif %changelog +* Wed Mar 16 2016 Kaleb S. KEITHLEY 2.3.1-1 +- 2.3.1 GA + * Wed Oct 28 2015 Kaleb S. KEITHLEY 2.3.0-1 - 2.3.0 GA diff --git a/sources b/sources index 336ad82..7ab3b84 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -feb466ad1ea3e34a54819768e6d22450 nfs-ganesha-2.3.0.tar.gz +b4fc41095ee567c6d638bdc9cdfe9697 nfs-ganesha-2.3.1.tar.gz