Hi Frank,
I was not following of the recent changes to Ganesha and I understand that
they are not complete but I just want to make sure we don't break it.
What I see is that the recent version is that fh passed on the up call is
used as the actual fh to do delegation call back, but up call was not
passing a full fh it is passing a key that the old code used to use for a
look-up of the full fh in the cache_entry_t and used that full fh to
recall delegation from the NFS client.
Am I missing something?
Thanks, Marc.
From: "Frank Filz" <[email protected]>
To: Marc Eshel/Almaden/IBM@IBMUS
Cc: "'Dan Gryniewicz'" <[email protected]>, "'nfs-ganesha-devel'"
<[email protected]>
Date: 06/06/2016 12:13 PM
Subject: RE: [Nfs-ganesha-devel] Posted patches that include my
continuation of Dan's work on removing the attrlist from fsal_obj_handle
Hmm, are you testing just the one patch or the whole branch? I have a
patch “In nfs3_Mnt.c do not release obj_handle” that should fix what you
are seeing.
You can pull my latest branch from github (though maybe wait until later
today when I have pushed an update I’m in the middle of):
https://github.com/ffilz/nfs-ganesha/commits/ceph-4
Frank
From: Marc Eshel [mailto:[email protected]]
Sent: Friday, June 3, 2016 5:02 PM
To: Frank Filz <[email protected]>
Cc: 'Dan Gryniewicz' <[email protected]>; 'nfs-ganesha-devel'
<[email protected]>
Subject: Re: [Nfs-ganesha-devel] Posted patches that include my
continuation of Dan's work on removing the attrlist from fsal_obj_handle
FSAL_GPFS is not working I belive that get_refis null, it crashes on the
2nd mount.
fsal_status_t nfs_export_get_root_entry(structgsh_export *export,
structfsal_obj_handle **obj)
{
PTHREAD_RWLOCK_rdlock(&export->lock);
if(export->exp_root_obj)
export->exp_root_obj->obj_ops.get_ref(export->exp_root_obj);
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f949db8e700 (LWP 18072)]
0x0000000000000000 in ?? ()
(gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x00000000004f6024 in nfs_export_get_root_entry (export=0x21fd7c8,
obj=0x7f949db8c9d8) at /nas/ganesha/new-ganesha/src/support/exports.c:1554
#2 0x000000000042dbd6 in fsal_lookupp (obj=0x7f92c0000de8,
parent=0x7f949db8ce88) at
/nas/ganesha/new-ganesha/src/FSAL/fsal_helper.c:901
#3 0x000000000048ccb4 in nfs3_readdir (arg=0x7f9300000aa8,
req=0x7f93000008e8, res=0x7f92b00008c0) at
/nas/ganesha/new-ganesha/src/Protocols/NFS/nfs3_readdir.c:250
#4 0x00000000004482d0 in nfs_rpc_execute (reqdata=0x7f93000008c0) at
/nas/ganesha/new-ganesha/src/MainNFSD/nfs_worker_thread.c:1306
#5 0x0000000000448c12 in worker_run (ctx=0x22405b0) at
/nas/ganesha/new-ganesha/src/MainNFSD/nfs_worker_thread.c:1570
#6 0x00000000004fa3bf in fridgethr_start_routine (arg=0x22405b0) at
/nas/ganesha/new-ganesha/src/support/fridgethr.c:550
#7 0x00007f94b3774df3 in start_thread (arg=0x7f949db8e700) at
pthread_create.c:308
#8 0x00007f94b2e343dd in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) p export
No symbol "export" in current context.
(gdb) p *export
No symbol "export" in current context.
(gdb) up
#1 0x00000000004f6024 in nfs_export_get_root_entry (export=0x21fd7c8,
obj=0x7f949db8c9d8) at /nas/ganesha/new-ganesha/src/support/exports.c:1554
1554 export->exp_root_obj->obj_ops.get_ref(export->exp_root_obj);
(gdb) p *export
$1 = {exp_list = {next = 0x7ae230 <exportlist>, prev = 0x21f7f98}, node_k
= {left = 0x0, right = 0x0, parent = 35618730}, exp_state_list = {next =
0x21fd7f0, prev = 0x21fd7f0}, exp_lock_list = {
next = 0x21fd800, prev = 0x21fd800}, exp_nlm_share_list = {next =
0x21fd810, prev = 0x21fd810}, exp_root_list = {next = 0x21fb6b0, prev =
0x21fb6b0}, exp_work = {next = 0x0, prev = 0x0},
mounted_exports_list = {next = 0x21fd840, prev = 0x21fd840},
mounted_exports_node = {next = 0x21f8010, prev = 0x21f8010}, exp_root_obj
= 0x21fb328, clients = {next = 0x21fd280,
prev = 0x21fdaa0}, exp_junction_obj = 0x2238688, exp_parent_exp =
0x21f7f98, fsal_export = 0x21fe4d0, fullpath = 0x21fd370 "/gpfs/gpfs3",
pseudopath = 0x21fd390 "/gpfs3",
FS_tag = 0x21fd3b0 "gpfs3", exp_mounted_on_file_id = 1, MaxRead =
2097152, MaxWrite = 2097152, PrefRead = 2097152, PrefWrite = 2097152,
PrefReaddir = 16384,
MaxOffsetWrite = 18446744073709551615, MaxOffsetRead =
18446744073709551615, filesystem_id = {major = 666, minor = 666}, refcnt =
3, lock = {__data = {__lock = 0, __nr_readers = 1,
__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\000\000\000\001", '\000' <repeats 50 times>, __align =
4294967296}, export_perms = {anonymous_uid = 4294967294, anonymous_gid =
4294967294, options = 120594672, set = 7467260},
last_update = 207783253234, options = 0, options_set = 0,
expire_time_attr = 60, export_id = 79, export_status = 0 '\000',
has_pnfs_ds = true}
(gdb) p *export->exp_root_obj
$2 = {handles = {next = 0x0, prev = 0x0}, fs = 0x220f800, fsal = 0x0,
obj_ops = {get_ref = 0x0, put_ref = 0x0, release = 0x0, merge = 0x0,
lookup = 0x0, readdir = 0x0, create = 0x0, mkdir = 0x0,
mknode = 0x0, symlink = 0x0, readlink = 0x0, test_access = 0x0,
getattrs = 0x0, setattrs = 0x0, link = 0x0, fs_locations = 0x0, rename =
0x0, unlink = 0x0, open = 0x0, reopen = 0x0,
status = 0x0, read = 0x0, read_plus = 0x0, write = 0x0, write_plus =
0x0, seek = 0x0, io_advise = 0x0, commit = 0x0, lock_op = 0x0, share_op =
0x0, close = 0x0, list_ext_attrs = 0x0,
getextattr_id_by_name = 0x0, getextattr_value_by_name = 0x0,
getextattr_value_by_id = 0x0, setextattr_value = 0x0,
setextattr_value_by_id = 0x0, getextattr_attrs = 0x0,
remove_extattr_by_id = 0x0, remove_extattr_by_name = 0x0, handle_is =
0x0, handle_digest = 0x0, handle_to_key = 0x0, handle_cmp = 0x0, layoutget
= 0x0, layoutreturn = 0x0, layoutcommit = 0x0,
getxattrs = 0x0, setxattrs = 0x0, removexattrs = 0x0, listxattrs =
0x0, open2 = 0x0, check_verifier = 0x0, status2 = 0x0, reopen2 = 0x0,
read2 = 0x0, write2 = 0x0, seek2 = 0x0,
io_advise2 = 0x0, commit2 = 0x0, lock_op2 = 0x0, setattr2 = 0x0,
close2 = 0x0}, 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}, attrs = 0x21fb1c8,
type = DIRECTORY, state_hdl = 0x21fb668}
(gdb) p *export->exp_root_obj->obj_ops
From: "Frank Filz" <[email protected]>
To: "'nfs-ganesha-devel'" <[email protected]
>, "'Dan Gryniewicz'" <[email protected]>
Date: 06/03/2016 04:37 PM
Subject: [Nfs-ganesha-devel] Posted patches that include my
continuation of Dan's work on removing the attrlist from
fsal_obj_handle
Please have a look, start to play with it, and comment...
I will resume on Monday with finishing up FSAL_GPFS, FSAL_ZFS, and
FSAL_RGW
.
Thanks
Frank
---
This email has been checked for viruses by Avast antivirus software.
https://www.avast.com/antivirus
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and
traffic
patterns at an interface-level. Reveals which users, apps, and protocols
are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Nfs-ganesha-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
Virus-free. www.avast.com
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are
consuming the most bandwidth. Provides multi-vendor support for NetFlow,
J-Flow, sFlow and other flows. Make informed decisions using capacity
planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e
_______________________________________________
Nfs-ganesha-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel