Change in ...nfs-ganesha[next]: Move async callback to svc_req and give it its own wpe
by Frank Filz (GerritHub)
Frank Filz has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/475152 )
Change subject: Move async callback to svc_req and give it its own wpe
......................................................................
Move async callback to svc_req and give it its own wpe
Change-Id: I17d9235f7b9d92e528097cd8333db071dc6e2cef
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
---
M src/Protocols/NFS/nfs3_read.c
M src/Protocols/NFS/nfs3_write.c
M src/Protocols/NFS/nfs4_Compound.c
M src/libntirpc
4 files changed, 4 insertions(+), 7 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/52/475152/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/475152
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I17d9235f7b9d92e528097cd8333db071dc6e2cef
Gerrit-Change-Number: 475152
Gerrit-PatchSet: 1
Gerrit-Owner: Frank Filz <ffilzlnx(a)mindspring.com>
Gerrit-MessageType: newchange
5 years, 1 month
FSAL_RGW write issue
by fanzi2009@hotmail.com
Hi Guys,
I tried to write files through FSAL_RGW and it's successful. But after a little while, I found all the file size become 0. I just follow the writing logic for FSAL_RGW. I found the `RGW_OPEN_FLAG_V3` is only set when state (which is a parameter rgw_fsal_open2() in ) is NULL. However, it seems that the `state` is always NOT NULL. When I changed the code to transfer RGW_OPEN_FLAG_V3 into rgw_open, the issue is gone.
Is there any other guy meet a similar issue?
```
rc = rgw_open(export->rgw_fs, handle->rgw_fh, posix_flags,
(!state) ? RGW_OPEN_FLAG_V3 : RGW_OPEN_FLAG_NONE);
```
Marvin
5 years, 1 month
Crash in mdcache_lru.c
by Rungta, Vandana
NFS GANESHA 2.7.6
I am seeing the following crash when the FSAL returns a ERR_FSAL_DELAY and mdcache_read_cb calls mdcache_kill_entry. The crash is in mdcache_lru_cleanup_push while trying to do a LRU_DQ_SAFE(lru, q);
I am happy to provide any additional debug information needed from the core.
(gdb) bt
#0 0x00000000005280e9 in mdcache_lru_cleanup_push (entry=0x1e2da00) at /src/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_lru.c:969
#1 0x000000000054585d in _mdcache_kill_entry (entry=0x1e2da00, file=0x598080 "/src/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c", line=554,
function=0x598220 <__func__.20126> "mdc_read_cb") at /src/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_helpers.c:3453
#2 0x0000000000536f7c in mdc_read_cb (obj=0x1d10900, ret=..., obj_data=0x7f60be49ab60, caller_data=0x1e2dfc0)
at /src/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c:554
#3 0x00007f60c65bb047 in foo_read2 (obj_hdl=0x1d10900, bypass=true, done_cb=0x536e7b <mdc_read_cb>, read_arg=0x7f60be49ab60, caller_arg=0x1e2dfc0)
at /opt/src/src/handle.c:1576
#4 0x000000000053706e in mdcache_read2 (obj_hdl=0x1e2da38, bypass=true, done_cb=0x490cd7 <nfs3_read_cb>, read_arg=0x7f60be49ab60, caller_arg=0x7f60be49afc0)
at /src/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_file.c:589
#5 0x00000000004914a7 in nfs3_read (arg=0x2f35728, req=0x2f35020, res=0x1cd3d20) at /src/src/Protocols/NFS/nfs3_read.c:311
#6 0x0000000000457e56 in nfs_rpc_process_request (reqdata=0x2f35020) at /src/src/MainNFSD/nfs_worker_thread.c:1328
#7 0x0000000000458615 in nfs_rpc_valid_NFS (req=0x2f35020) at /src/src/MainNFSD/nfs_worker_thread.c:1548
#8 0x00007f60ca6d9034 in svc_vc_decode (req=0x2f35020) at /src/src/libntirpc/src/svc_vc.c:829
#9 0x000000000044b005 in nfs_rpc_decode_request (xprt=0x1d25fc0, xdrs=0x1d2be90) at /src/src/MainNFSD/nfs_rpc_dispatcher_thread.c:1345
#10 0x00007f60ca6d8f45 in svc_vc_recv (xprt=0x1d25fc0) at /src/src/libntirpc/src/svc_vc.c:802
#11 0x00007f60ca6d5689 in svc_rqst_xprt_task (wpe=0x1d261d8) at /src/src/libntirpc/src/svc_rqst.c:769
#12 0x00007f60ca6d5ae6 in svc_rqst_epoll_events (sr_rec=0x1c92990, n_events=2) at /src/src/libntirpc/src/svc_rqst.c:941
#13 0x00007f60ca6d5d7b in svc_rqst_epoll_loop (sr_rec=0x1c92990) at /src/src/libntirpc/src/svc_rqst.c:1014
#14 0x00007f60ca6d5e2e in svc_rqst_run_task (wpe=0x1c92990) at /src/src/libntirpc/src/svc_rqst.c:1050
#15 0x00007f60ca6de7f6 in work_pool_thread (arg=0x1cec1c0) at /src/src/libntirpc/src/work_pool.c:181
#16 0x00007f60c96fcde5 in start_thread () from /lib64/libpthread.so.0
#17 0x00007f60c9003f1d in clone () from /lib64/libc.so.6
(gdb) print entry->lru
$4 = {q = {next = 0x0, prev = 0x0}, qid = LRU_ENTRY_NONE, refcnt = 3, flags = 0, lane = 12, cf = 0}
(gdb) print *entry
$5 = {attr_lock = {__data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0,
__writer = 0, __shared = 0, __pad1 = 0, __pad2 = 0, __flags = 0}, __size = '\000' <repeats 55 times>, __align = 0}, obj_handle = {handles = {
next = 0x212fb88, prev = 0x7d6460 <MDCACHE+32>}, fs = 0x0, fsal = 0x7d6440 <MDCACHE>, obj_ops = 0x7d6598 <MDCACHE+344>, obj_lock = {__data = {__lock = 0,
__nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0, __writer = 0, __shared = 0, __pad1 = 0,
__pad2 = 0, __flags = 0}, __size = '\000' <repeats 55 times>, __align = 0}, type = REGULAR_FILE, fsid = {major = 0, minor = 0}, fileid = 20004,
state_hdl = 0x1e2dca0}, sub_handle = 0x1d10900, attrs = {request_mask = 1433550, valid_mask = 1433550, supported = 1433582, type = REGULAR_FILE,
filesize = 10737418240, fsid = {major = 0, minor = 0}, acl = 0x0, fileid = 20004, mode = 420, numlinks = 1, owner = 65534, group = 65534, rawdev = {major = 0,
minor = 0}, atime = {tv_sec = 1573241243, tv_nsec = 33000000}, creation = {tv_sec = 0, tv_nsec = 0}, ctime = {tv_sec = 1573241243, tv_nsec = 33000000},
mtime = {tv_sec = 1573241243, tv_nsec = 33000000}, chgtime = {tv_sec = 1573241243, tv_nsec = 33000000}, spaceused = 10737418240, change = 1573241243033000000,
generation = 0, expire_time_attr = 60, fs_locations = 0x0, sec_label = {slai_lfs = {lfs_lfs = 0, lfs_pi = 0}, slai_data = {slai_data_len = 0,
slai_data_val = 0x0}}}, fh_hk = {node_k = {left = 0x0, right = 0x0, parent = 2}, key = {hk = 12628871282545812592, fsal = 0x7f60c6801100 <FOO>, kv = {
addr = 0x1d0c930, len = 10}}, inavl = false}, mde_flags = 1, attr_time = 1573511991, acl_time = 0, fs_locations_time = 0, lru = {q = {next = 0x0,
prev = 0x0}, qid = LRU_ENTRY_NONE, refcnt = 3, flags = 0, lane = 12, cf = 0}, export_list = {next = 0x1d00a80, prev = 0x1d00a80}, first_export_id = 2,
content_lock = {__data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0,
__writer = 0, __shared = 0, __pad1 = 0, __pad2 = 0, __flags = 0}, __size = '\000' <repeats 55 times>, __align = 0}, fsobj = {hdl = {state_lock = {__data = {
__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0, __writer = 0, __shared = 0,
__pad1 = 0, __pad2 = 0, __flags = 0}, __size = '\000' <repeats 55 times>, __align = 0}, no_cleanup = false, {file = {obj = 0x1e2da38, list_of_states = {
next = 0x1e2dce8, prev = 0x1e2dce8}, layoutrecall_list = {next = 0x1e2dcf8, prev = 0x1e2dcf8}, lock_list = {next = 0x1e2dd08, prev = 0x1e2dd08},
nlm_share_list = {next = 0x1e2dd18, prev = 0x1e2dd18}, write_delegated = false, fdeleg_stats = {fds_curr_delegations = 0,
fds_deleg_type = OPEN_DELEGATE_NONE, fds_delegation_count = 0, fds_recall_count = 0, fds_avg_hold = 0, fds_last_delegation = 0, fds_last_recall = 0,
fds_num_opens = 0, fds_first_open = 0}, anon_ops = 0}, dir = {junction_export = 0x1e2da38, export_roots = {next = 0x1e2dce8, prev = 0x1e2dce8},
exp_root_refcount = 31644920}}}, fsdir = {chunks = {next = 0x0, prev = 0x0}, detached = {next = 0x0, prev = 0x0}, spin = 0, detached_count = 0, dhdl = {
state_lock = {__data = {__lock = 0, __nr_readers = 0, __readers_wakeup = 0, __writer_wakeup = 0, __nr_readers_queued = 0, __nr_writers_queued = 0,
__writer = 31644216, __shared = 0, __pad1 = 31644904, __pad2 = 31644904, __flags = 31644920},
__size = '\000' <repeats 24 times>, "\070\332\342\001\000\000\000\000\350\334\342\001\000\000\000\000\350\334\342\001\000\000\000\000\370\334\342\001\000\000\000", __align = 0}, no_cleanup = 248, {file = {obj = 0x1e2dd08, list_of_states = {next = 0x1e2dd08, prev = 0x1e2dd18}, layoutrecall_list = {next = 0x1e2dd18,
prev = 0x0}, lock_list = {next = 0x0, prev = 0x0}, nlm_share_list = {next = 0x0, prev = 0x0}, write_delegated = false, fdeleg_stats = {
fds_curr_delegations = 0, fds_deleg_type = OPEN_DELEGATE_NONE, fds_delegation_count = 0, fds_recall_count = 0, fds_avg_hold = 0,
fds_last_delegation = 0, fds_last_recall = 0, fds_num_opens = 0, fds_first_open = 0}, anon_ops = 0}, dir = {junction_export = 0x1e2dd08,
export_roots = {next = 0x1e2dd08, prev = 0x1e2dd18}, exp_root_refcount = 31644952}}}, parent = {addr = 0x0, len = 0}, parent_time = 0, first_ck = 0,
avl = {t = {root = 0x0, cmp_fn = 0x0, height = 0, first = 0x0, last = 0x0, size = 0}, ck = {root = 0x0, cmp_fn = 0x0, height = 0, first = 0x0, last = 0x0,
size = 0}, sorted = {root = 0x0, cmp_fn = 0x0, height = 0, first = 0x0, last = 0x0, size = 0}, collisions = 0}}}}
(gdb)
5 years, 1 month
Announce Push of V3.0.1
by Frank Filz
Branch next
Tag:V3.0.1
Merge Highlights
* Several Coverity fixes
* call set_current_entry only after checking state_lock
* avoid mem leak
* Adding trace in FSAL_GLUSTER
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
a745fa9 Frank S. Filz V3.0.1
9b0d708 Arjun Sharma Adding trace in FSAL_GLUSTER
067f5bb Rafael Lopez call set_current_entry only after checking state_lock
ad3ae94 hujianfei avoid mem leak
94fb867 Xi Jinyu Avoid twice free.
e272d52 Xi Jinyu The return value type of snprintf function is int.
e4e0559 Xi Jinyu Remove close(sock).
5 years, 1 month
Change in ...nfs-ganesha[next]: doc: utf8 characters in ganesha-config.rsh
by Kaleb KEITHLEY (GerritHub)
Kaleb KEITHLEY has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/474622 )
Change subject: doc: utf8 characters in ganesha-config.rsh
......................................................................
doc: utf8 characters in ganesha-config.rsh
python3-sphinx-1.4.9-2 on Debian 9/stretch blows up during the build.
Later versions of sphinx seem to handle it fine.
depending on any number of factors the line might look like
Empty lines and lines starting with `#' are comments.::
or
Empty lines and lines starting with â #â are comments.::
od -xa reveals
0001220 6e69 2067 6977 6874 e220 9880 e223 9980
i n g sp w i t h sp b nul can # b nul em
they are 0xe2 0x80 0x98 and 0xe2 0x80 0x99, i.e. U+2018 and U+2019 left
and right single quotation marks.
(see https://www.utf8-chartable.de/unicode-utf8-table.pl?start=8064&names=-&ut...)
I don't know how well the diff and/or patch are going to deal with this.
(Not well, I suspect.) It may be necessary to edit the file and push it
to github outside of our usual gerrithub process
Signed-off-by: Kaleb S. KEITHLEY <kkeithle(a)redhat.com>
Change-Id: I30117421582b0dbad57615b6dba10c2eb2118a26
---
M src/doc/man/ganesha-config.rst
1 file changed, 1 insertion(+), 1 deletion(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/22/474622/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/474622
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I30117421582b0dbad57615b6dba10c2eb2118a26
Gerrit-Change-Number: 474622
Gerrit-PatchSet: 1
Gerrit-Owner: Kaleb KEITHLEY <kaleb(a)redhat.com>
Gerrit-MessageType: newchange
5 years, 1 month
Change in ...nfs-ganesha[next]: call set_current_entry only after checking state_lock
by Name of user not set (GerritHub)
raflopez1(a)gmail.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/474023 )
Change subject: call set_current_entry only after checking state_lock
......................................................................
call set_current_entry only after checking state_lock
extension of d535ecf0316d8b848fabc841be9ca00a21ca9d61 - we don't
want to do cleanup if state_lock_held. since put_ref is called in
set_current_entry, this covers the case where data->current_obj == obj
so we don't end up trying to do put_ref with cleanup before checking
state_lock_held
Signed-off-by: Rafael Lopez <raflopez1(a)gmail.com>
Change-Id: If03e53d761739380bd235fc5eb0fcfb4b14384d2
---
M src/Protocols/NFS/nfs4_op_open.c
1 file changed, 3 insertions(+), 3 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/23/474023/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/474023
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: If03e53d761739380bd235fc5eb0fcfb4b14384d2
Gerrit-Change-Number: 474023
Gerrit-PatchSet: 1
Gerrit-Owner: raflopez1(a)gmail.com
Gerrit-MessageType: newchange
5 years, 1 month
Change in ...nfs-ganesha[next]: avoid mem leak
by Name of user not set (GerritHub)
hujianfei(a)cmss.chinamobile.com has uploaded this change for review. ( https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/473909 )
Change subject: avoid mem leak
......................................................................
avoid mem leak
Signed-off-by: hujianfei <hujianfei(a)cmss.chinamobile.com>
Change-Id: I9009229cf479e88af38b174108ce3a35bd8dc49d
---
M src/support/nfs_ip_name.c
1 file changed, 0 insertions(+), 2 deletions(-)
git pull ssh://review.gerrithub.io:29418/ffilz/nfs-ganesha refs/changes/09/473909/1
--
To view, visit https://review.gerrithub.io/c/ffilz/nfs-ganesha/+/473909
To unsubscribe, or for help writing mail filters, visit https://review.gerrithub.io/settings
Gerrit-Project: ffilz/nfs-ganesha
Gerrit-Branch: next
Gerrit-Change-Id: I9009229cf479e88af38b174108ce3a35bd8dc49d
Gerrit-Change-Number: 473909
Gerrit-PatchSet: 1
Gerrit-Owner: hujianfei(a)cmss.chinamobile.com
Gerrit-MessageType: newchange
5 years, 1 month
Announce Push of V3.0
by Frank Filz
Branch next
Tag:V3.0
NOTE: This release includes an ntirpc pullup, please update your submodule.
V3.0 Release Highlights
-----------------------
* libntirpc
* Use non-blocking writes when we send RPC responses or make RPC callbacks
* Continued improvements of readdir cache
* Use of gss_iov for GSS integrity and privacy encode and decode to save
buffer copies.
* Change xdr encode of attributes to work from struct attrlist and other
changes to save a data copy when returning attributes for NFS v3.
* Implement xdr_putbuffs to save buffer copies for READ and READDIR
responses
which also has the benefit of more completely filling the maximum READDIR
response size for fewer READDIR roundtrips to read a large directory.
* Add LizardFS FSAL
* Completed audit of string buffer handling (strncpy, snprintf and such) to
prevent overflows. Also make utf8str always NUL terminated including on
XDR decode.
* Make python scripts compatible with Python 3
* Python script enhancements and cleanup
* Enhancements to stats collection
* Numerous Coverity issues fixed as well as other bug fixes
Last Merge Highlights
---------------------
* nitrpc tagging for 3.0
* Various Coverity (I think) fixes
* FSAL option for FSALs compliant with NFS v3 end-of-file read behavior
* Mention unit for latency stats
* rados_recov: abort (or not) correctly based on config and shlib
* Convert RecoveryBackend from CONF_ITEM_STR to CONF_ITEM_TOKEN
* Avoid autofs in our list of posix file systems
* Avoid calling stat() on NFS mount points
* configure: check_symbol_exists in cmake-3.15 and later
* CMake - ntirpc lttng is optional
* Bump FSAL_API version to 10
Signed-off-by: Frank S. Filz <ffilzlnx(a)mindspring.com>
Contents:
fa50a29 Frank S. Filz V3.0
98a6074 Frank S. Filz Bump FSAL_API version to 10
5e72d5e Daniel Gryniewicz Pull up ntirpc to 3.0
483b803 Daniel Gryniewicz CMake - ntirpc lttng is optional
b5b9442 Kaleb S. KEITHLEY configure: check_symbol_exists in cmake-3.15 and
later
aaf370b Malahal Naineni Avoid calling stat() on NFS mount points
b2c7132 Malahal Naineni Avoid autofs in our list of posix file systems
68d45fc Frank S. Filz Convert RecoveryBackend from CONF_ITEM_STR to
CONF_ITEM_TOKEN
501992a Kaleb S. KEITHLEY rados_recov: abort (or not) correctly based on
config and shlib
2dd08d1 Sachin Punadikar Mention unit for latency stats
b8a2f1d TweakySolution FSAL option for FSALs compliant with NFS v3
end-of-file read behavior
29f9290 Xie Changlong use errno
0d82bd0 Xie Changlong avoid use after free
3732b91 Xie Changlong avoid memory leak
1f8a85f Xie Changlong avoid free uninitialized tracker.entries
0ef8ddc Xie Changlong fix wrong size
5 years, 1 month