Change in ffilz/nfs-ganesha[next]: FreeBSD: use custom syscalls to set credentials
by GerritHub
From <fatih(a)gandi.net>:
fatih(a)gandi.net has uploaded this change for review. ( https://review.gerrithub.io/419395
Change subject: FreeBSD: use custom syscalls to set credentials
......................................................................
FreeBSD: use custom syscalls to set credentials
credentials in the vanilla kernel are per-process
per-thread credentials are not supported yet
we use custom modules to implement very basic per-thread credentials
Change-Id: Ia24729ca1525107c65f20187b711781011e17655
Signed-off-by: Fatih Acar <fatih.acar(a)gandi.net>
---
M src/os/freebsd/subr.c
1 file changed, 75 insertions(+), 3 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/95/419395/1
--
To view, visit https://review.gerrithub.io/419395
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia24729ca1525107c65f20187b711781011e17655
Gerrit-Change-Number: 419395
Gerrit-PatchSet: 1
Gerrit-Owner: fatih(a)gandi.net
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: FSAL_VFS, FreeBSD: fix handling of symbolic links
by GerritHub
From <fatih(a)gandi.net>:
fatih(a)gandi.net has uploaded this change for review. ( https://review.gerrithub.io/419394
Change subject: FSAL_VFS, FreeBSD: fix handling of symbolic links
......................................................................
FSAL_VFS, FreeBSD: fix handling of symbolic links
we cannot use fhopen with symlinks on FreeBSD
in most of cases it is used to do a fstat
we can use fhstat instead on FreeBSD
this is the same documented issue about XFS,
thus apply same workarounds where needed
Change-Id: Ib3d3e6127f7d573ad777e62b4ea6703093b5b651
Signed-off-by: Fatih Acar <fatih.acar(a)gandi.net>
---
M src/FSAL/FSAL_VFS/file.c
M src/FSAL/FSAL_VFS/handle.c
M src/FSAL/FSAL_VFS/handle_syscalls.c
3 files changed, 57 insertions(+), 6 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/94/419394/1
--
To view, visit https://review.gerrithub.io/419394
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib3d3e6127f7d573ad777e62b4ea6703093b5b651
Gerrit-Change-Number: 419394
Gerrit-PatchSet: 1
Gerrit-Owner: fatih(a)gandi.net
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: FSAL_VFS, FreeBSD: fix dummy handles on vanilla FreeBSD
by GerritHub
From <fatih(a)gandi.net>:
fatih(a)gandi.net has uploaded this change for review. ( https://review.gerrithub.io/419393
Change subject: FSAL_VFS, FreeBSD: fix dummy handles on vanilla FreeBSD
......................................................................
FSAL_VFS, FreeBSD: fix dummy handles on vanilla FreeBSD
we cannot make use of fid_reserved like on PanFS since it may be used internally by other filesystems
introduce a new fh_flags field to v_fhandle and make use of it to flag dummy handles
we now need to use the v_to_fhandle macro to pass file handles to kernel
Change-Id: I0e64f29f879ca56093a7631663384472a50cd3b8
Signed-off-by: Fatih Acar <fatih.acar(a)gandi.net>
---
M src/FSAL/FSAL_VFS/os/freebsd/handle_syscalls.c
M src/include/os/freebsd/fsal_handle_syscalls.h
2 files changed, 44 insertions(+), 34 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/93/419393/1
--
To view, visit https://review.gerrithub.io/419393
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0e64f29f879ca56093a7631663384472a50cd3b8
Gerrit-Change-Number: 419393
Gerrit-PatchSet: 1
Gerrit-Owner: fatih(a)gandi.net
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: dbus: remove unrequired Linux headers
by GerritHub
From <fatih(a)gandi.net>:
fatih(a)gandi.net has uploaded this change for review. ( https://review.gerrithub.io/419392
Change subject: dbus: remove unrequired Linux headers
......................................................................
dbus: remove unrequired Linux headers
Change-Id: If4c6171de094f18111b8bef39021d1acab52930f
Signed-off-by: Fatih Acar <fatih.acar(a)gandi.net>
---
M src/dbus/dbus_server.c
1 file changed, 0 insertions(+), 2 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/92/419392/1
--
To view, visit https://review.gerrithub.io/419392
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: If4c6171de094f18111b8bef39021d1acab52930f
Gerrit-Change-Number: 419392
Gerrit-PatchSet: 1
Gerrit-Owner: fatih(a)gandi.net
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: FSAL_VFS: fix read_dirents on FreeBSD
by GerritHub
From <fatih(a)gandi.net>:
fatih(a)gandi.net has uploaded this change for review. ( https://review.gerrithub.io/419391
Change subject: FSAL_VFS: fix read_dirents on FreeBSD
......................................................................
FSAL_VFS: fix read_dirents on FreeBSD
the dirent structure on FreeBSD does not implement the d_off field
there's some computation done in to_vfs_dirent for FreeBSD but it's not valid for upstream filesystems
we could try to compute offsets manually but this is painful, especially with ZFS
a workaround to retrieve offsets is to rewind and re-read the directory entry by entry and fetch each offset
this is very inefficient as it will do a syscall for each entry
we also have to reduce the buffer size for batched reads in order to narrow races due to the rewind process
FreeBSD 12 introduced the d_off field but is currently unused, we can use it once it is fully available
Change-Id: I75416c6981b921b63f9d493854ece41260fca157
Signed-off-by: Fatih Acar <fatih.acar(a)gandi.net>
---
M src/FSAL/FSAL_VFS/handle.c
1 file changed, 38 insertions(+), 0 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/91/419391/1
--
To view, visit https://review.gerrithub.io/419391
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: I75416c6981b921b63f9d493854ece41260fca157
Gerrit-Change-Number: 419391
Gerrit-PatchSet: 1
Gerrit-Owner: fatih(a)gandi.net
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: 9P : remove old infiniband/arch.h and rdma_cma.h refs
by GerritHub
From Patrice LUCAS <patrice.lucas(a)cea.fr>:
Patrice LUCAS has uploaded this change for review. ( https://review.gerrithub.io/419384
Change subject: 9P : remove old infiniband/arch.h and rdma_cma.h refs
......................................................................
9P : remove old infiniband/arch.h and rdma_cma.h refs
Change-Id: Ic3f72c2a8c5ddcbb026ee7745c33bcb0a0493060
Signed-off-by: Patrice LUCAS <patrice.lucas(a)cea.fr>
---
M src/include/9p.h
1 file changed, 1 insertion(+), 3 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/84/419384/1
--
To view, visit https://review.gerrithub.io/419384
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic3f72c2a8c5ddcbb026ee7745c33bcb0a0493060
Gerrit-Change-Number: 419384
Gerrit-PatchSet: 1
Gerrit-Owner: Patrice LUCAS <patrice.lucas(a)cea.fr>
6 years, 5 months
Announce Push of V2.7-dev.20
by Frank Filz
Branch next
Tag:V2.7-dev.20
Release Highlights
* load_fsal: change dlopen failure warning to LogFatal
* MDCACHE - Close more export/unexport races
* Flex layout: Encode ff_layout4 and ff_device_addr4
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
1771c7e Frank S. Filz V2.7-dev.20
d342bf9 Supriti Singh Flex layout: Encode ff_layout4 and ff_device_addr4
5690390 Daniel Gryniewicz MDCACHE - Close more export/unexport races
8074cba Dominique Martinet load_fsal: change dlopen failure warning to
LogFatal
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: FSAL: Convert fsal_obj_ops in fsal_obj_handle to pointer
by GerritHub
From Frank Filz <ffilzlnx(a)mindspring.com>:
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/419288
Change subject: FSAL: Convert fsal_obj_ops in fsal_obj_handle to pointer
......................................................................
FSAL: Convert fsal_obj_ops in fsal_obj_handle to pointer
This trades an extra dereference for a dramatic reduction in the size of
the fsal_obj_handle (which with stacked mdcache is two fsal_obj_handle
structures per cached inode).
The extra dereference will dramatically reduce memory consumtion
(424 bytes per fsal_obj_handle * 2 * 100,000 is 85 MB).
We can also expect some benefit to having a single function vector
per FSAL resulting in the function vector often liing in L2 cache.
A further optimization (coming in a subsequent patch) will be to
move the most used methods to the front of the structure in the hopes
that they can live in a single cache line and this may even live in
the L1 cache on the CPU.
Change-Id: Ie20e50900488d72e7871f2be295cb8241fbc0f3f
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/FSAL/FSAL_CEPH/handle.c
M src/FSAL/FSAL_CEPH/internal.c
M src/FSAL/FSAL_CEPH/internal.h
M src/FSAL/FSAL_CEPH/main.c
M src/FSAL/FSAL_GLUSTER/gluster_internal.c
M src/FSAL/FSAL_GLUSTER/gluster_internal.h
M src/FSAL/FSAL_GLUSTER/handle.c
M src/FSAL/FSAL_GLUSTER/main.c
M src/FSAL/FSAL_GPFS/file.c
M src/FSAL/FSAL_GPFS/fsal_internal.h
M src/FSAL/FSAL_GPFS/handle.c
M src/FSAL/FSAL_GPFS/main.c
M src/FSAL/FSAL_MEM/mem_handle.c
M src/FSAL/FSAL_MEM/mem_int.h
M src/FSAL/FSAL_MEM/mem_main.c
M src/FSAL/FSAL_MEM/mem_up.c
M src/FSAL/FSAL_PROXY/handle.c
M src/FSAL/FSAL_PROXY/main.c
M src/FSAL/FSAL_PROXY/pxy_fsal_methods.h
M src/FSAL/FSAL_PSEUDO/handle.c
M src/FSAL/FSAL_PSEUDO/main.c
M src/FSAL/FSAL_PSEUDO/pseudofs_methods.h
M src/FSAL/FSAL_RGW/handle.c
M src/FSAL/FSAL_RGW/internal.c
M src/FSAL/FSAL_RGW/internal.h
M src/FSAL/FSAL_RGW/main.c
M src/FSAL/FSAL_VFS/file.c
M src/FSAL/FSAL_VFS/handle.c
M src/FSAL/FSAL_VFS/state.c
M src/FSAL/FSAL_VFS/vfs/attrs.c
M src/FSAL/FSAL_VFS/vfs/main-c.in.cmake
M src/FSAL/FSAL_VFS/vfs_methods.h
M src/FSAL/FSAL_VFS/xfs/main.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_avl.h
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_handle.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_int.h
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_main.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_xattrs.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/file.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/handle.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/main.c
M src/FSAL/Stackable_FSALs/FSAL_NULL/nullfs_methods.h
M src/FSAL/Stackable_FSALs/FSAL_NULL/xattrs.c
M src/FSAL/access_check.c
M src/FSAL/commonlib.c
M src/FSAL/default_methods.c
M src/FSAL/fsal_destroyer.c
M src/FSAL/fsal_helper.c
M src/FSAL_UP/fsal_up_top.c
M src/Protocols/9P/9p_attach.c
M src/Protocols/9P/9p_getattr.c
M src/Protocols/9P/9p_lcreate.c
M src/Protocols/9P/9p_mkdir.c
M src/Protocols/9P/9p_mknod.c
M src/Protocols/9P/9p_proto_tools.c
M src/Protocols/9P/9p_read.c
M src/Protocols/9P/9p_readdir.c
M src/Protocols/9P/9p_remove.c
M src/Protocols/9P/9p_statfs.c
M src/Protocols/9P/9p_symlink.c
M src/Protocols/9P/9p_walk.c
M src/Protocols/9P/9p_write.c
M src/Protocols/9P/9p_xattrcreate.c
M src/Protocols/9P/9p_xattrwalk.c
M src/Protocols/NFS/mnt_Mnt.c
M src/Protocols/NFS/nfs3_access.c
M src/Protocols/NFS/nfs3_commit.c
M src/Protocols/NFS/nfs3_create.c
M src/Protocols/NFS/nfs3_fsinfo.c
M src/Protocols/NFS/nfs3_fsstat.c
M src/Protocols/NFS/nfs3_getattr.c
M src/Protocols/NFS/nfs3_link.c
M src/Protocols/NFS/nfs3_lookup.c
M src/Protocols/NFS/nfs3_mkdir.c
M src/Protocols/NFS/nfs3_mknod.c
M src/Protocols/NFS/nfs3_pathconf.c
M src/Protocols/NFS/nfs3_read.c
M src/Protocols/NFS/nfs3_readdir.c
M src/Protocols/NFS/nfs3_readdirplus.c
M src/Protocols/NFS/nfs3_readlink.c
M src/Protocols/NFS/nfs3_remove.c
M src/Protocols/NFS/nfs3_rename.c
M src/Protocols/NFS/nfs3_rmdir.c
M src/Protocols/NFS/nfs3_setattr.c
M src/Protocols/NFS/nfs3_symlink.c
M src/Protocols/NFS/nfs3_write.c
M src/Protocols/NFS/nfs4_op_create.c
M src/Protocols/NFS/nfs4_op_free_stateid.c
M src/Protocols/NFS/nfs4_op_getattr.c
M src/Protocols/NFS/nfs4_op_getfh.c
M src/Protocols/NFS/nfs4_op_layoutcommit.c
M src/Protocols/NFS/nfs4_op_layoutget.c
M src/Protocols/NFS/nfs4_op_layoutreturn.c
M src/Protocols/NFS/nfs4_op_lookup.c
M src/Protocols/NFS/nfs4_op_lookupp.c
M src/Protocols/NFS/nfs4_op_open.c
M src/Protocols/NFS/nfs4_op_putfh.c
M src/Protocols/NFS/nfs4_op_putrootfh.c
M src/Protocols/NFS/nfs4_op_read.c
M src/Protocols/NFS/nfs4_op_readdir.c
M src/Protocols/NFS/nfs4_op_secinfo.c
M src/Protocols/NFS/nfs4_op_write.c
M src/Protocols/NFS/nfs4_op_xattr.c
M src/Protocols/NFS/nfs4_pseudo.c
M src/Protocols/NFS/nfs_proto_tools.c
M src/Protocols/NLM/nlm_Cancel.c
M src/Protocols/NLM/nlm_Lock.c
M src/Protocols/NLM/nlm_Share.c
M src/Protocols/NLM/nlm_Test.c
M src/Protocols/NLM/nlm_Unlock.c
M src/Protocols/NLM/nlm_Unshare.c
M src/Protocols/NLM/nlm_util.c
M src/SAL/nfs4_state.c
M src/SAL/nfs4_state_id.c
M src/SAL/nlm_state.c
M src/SAL/state_deleg.c
M src/SAL/state_layout.c
M src/SAL/state_lock.c
M src/SAL/state_misc.c
M src/SAL/state_share.c
M src/gtest/fsal_api/test_close2_latency.cc
M src/gtest/fsal_api/test_close_latency.cc
M src/gtest/fsal_api/test_commit2_latency.cc
M src/gtest/fsal_api/test_getattrs_latency.cc
M src/gtest/fsal_api/test_handle_to_key_latency.cc
M src/gtest/fsal_api/test_handle_to_wire_latency.cc
M src/gtest/fsal_api/test_link_latency.cc
M src/gtest/fsal_api/test_lock_op2_latency.cc
M src/gtest/fsal_api/test_lookup_latency.cc
M src/gtest/fsal_api/test_mkdir_latency.cc
M src/gtest/fsal_api/test_mknode_latency.cc
M src/gtest/fsal_api/test_open2_latency.cc
M src/gtest/fsal_api/test_read2_latency.cc
M src/gtest/fsal_api/test_readdir_latency.cc
M src/gtest/fsal_api/test_readlink_latency.cc
M src/gtest/fsal_api/test_release_latency.cc
M src/gtest/fsal_api/test_rename_latency.cc
M src/gtest/fsal_api/test_reopen2_latency.cc
M src/gtest/fsal_api/test_setattr2_latency.cc
M src/gtest/fsal_api/test_symlink_latency.cc
M src/gtest/fsal_api/test_unlink_latency.cc
M src/gtest/fsal_api/test_write2_latency.cc
M src/gtest/gtest.hh
M src/gtest/test_ci_hash_dist1.cc
M src/include/FSAL/fsal_commonlib.h
M src/include/fsal.h
M src/include/fsal_api.h
M src/include/nfs_proto_data.h
M src/include/sal_functions.h
M src/support/exports.c
M src/support/nfs_creds.c
M src/support/nfs_filehandle_mgmt.c
155 files changed, 812 insertions(+), 710 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/88/419288/1
--
To view, visit https://review.gerrithub.io/419288
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie20e50900488d72e7871f2be295cb8241fbc0f3f
Gerrit-Change-Number: 419288
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
6 years, 5 months
Change in ffilz/nfs-ganesha[next]: MDCACHE - Close more export/unexport races
by GerritHub
From Daniel Gryniewicz <dang(a)redhat.com>:
Daniel Gryniewicz has uploaded this change for review. ( https://review.gerrithub.io/419268
Change subject: MDCACHE - Close more export/unexport races
......................................................................
MDCACHE - Close more export/unexport races
When cleaning up the expmap, once it's empty, we try to push the entry
to the CLEANUP queue. However, if something (say lru_run_lane()) takes
a ref, then we won't push to the CLEANUP queue, and also won't clear
first_export_id, leaving it set to the last (and now removed) export.
This will cause lru_run_lane() to eventually assert when it gets to that
entry.
To close this, unconditionally set first_export_id to -1, indicating
that the entry is unmapped, and check the first_export_id before
getting a ref in lru_run_lane(), so that we can skip the entry without
taking a ref, as putting the ref requires an export.
The second race is that we call init_export_root() before we call
insert_gsh_export(); this means that the root entry, with it's mapped
export, is visible to lru_run_lane() before the export can be looked up.
To close this race, skip entries with no export, rather than asserting.
Change-Id: Iac8dead8864872065a7bad8aeb9f719b865d4636
Signed-off-by: Daniel Gryniewicz <dang(a)redhat.com>
---
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_export.c
M src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c
2 files changed, 28 insertions(+), 22 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/68/419268/1
--
To view, visit https://review.gerrithub.io/419268
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-MessageType: newchange
Gerrit-Change-Id: Iac8dead8864872065a7bad8aeb9f719b865d4636
Gerrit-Change-Number: 419268
Gerrit-PatchSet: 1
Gerrit-Owner: Daniel Gryniewicz <dang(a)redhat.com>
6 years, 5 months