Responding to myself, in part:

Looks like fsal_export.super_export "works" but presumes there is one, or at 
least would if I can safely decide whether to pass super_export if present?  Or 
something.

Matt

----- Original Message -----
> From: "Matt Benjamin" <mbenja...@redhat.com>
> To: "NFS Ganesha Developers" <nfs-ganesha-devel@lists.sourceforge.net>
> Cc: "Daniel Gryniewicz" <d...@redhat.com>
> Sent: Friday, January 20, 2017 10:41:50 PM
> Subject: segv in mdc_up_invalidate (synchronous upcall)
> 
> 
> try-expire ev:
> <event:type=READDIR;fid=8337928933562504833:9160472602707183340;ts=<timespec:13073251;314548264>>
> ev rgw_fh: 0x7ffff4498620
> [Switching to Thread 0x7fffb3bfe700 (LWP 23792)]
> Hi nfs-ganesha devs who know and love FSAL_MDCACHE,
> 
> I'm prototyping an upcall in RGW, and I've quickly hit a fault in
> mdc_up_invalidate.  It appears clear what's happening:  up_ops.invalidate is
> mdc_up_invalidate, for which the export argument is expected to be an mdc
> view of export--but I've passed my own export handle.
> 
> Am I supposed to be recovering an mdc export handle address somewhere, or is
> mdc_up_invalidate being unreasonable?
> 
> Thanks,
> 
> Matt
> 
> Breakpoint 1, rgw_fs_invalidate (handle=0x7ffff4493700, fh_hk=...) at
> /home/mbenjamin/dev/rgw/nfs-ganesha/src/FSAL/FSAL_RGW/up.c:90
> 90            status = up_ops->invalidate(&export->export, &fh_desc, upflags);
> (gdb) s
> mdc_up_invalidate (export=0x7ffff4493700, handle=0x7fffb3bfd1b0, flags=5) at
> /home/mbenjamin/dev/rgw/nfs-ganesha/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_up.c:47
> 47            struct req_op_context *save_ctx, req_ctx = {0};
> (gdb) n
> 49            struct mdcache_fsal_export *myself = mdc_export(export);
> (gdb) n
> 51            req_ctx.fsal_export = &myself->export;
> (gdb) n
> 52            save_ctx = op_ctx;
> (gdb) n
> 53            op_ctx = &req_ctx;
> (gdb) n
> 55            key.fsal = export->sub_export->fsal;
> (gdb) n
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0x0000000000521363 in mdc_up_invalidate (export=0x7ffff4493700,
> handle=0x7fffb3bfd1b0, flags=5)
>     at
>     
> /home/mbenjamin/dev/rgw/nfs-ganesha/src/FSAL/Stackable_FSALs/FSAL_MDCACHE/mdcache_up.c:55
> 55            key.fsal = export->sub_export->fsal;
> (gdb) p export
> $5 = (struct fsal_export *) 0x7ffff4493700
> (gdb) p export->sub_export
> $6 = (struct fsal_export *) 0x0
> 
> --
> Matt Benjamin
> Red Hat, Inc.
> 315 West Huron Street, Suite 140A
> Ann Arbor, Michigan 48103
> 
> http://www.redhat.com/en/technologies/storage
> 
> tel.  734-821-5101
> fax.  734-769-8938
> cel.  734-216-5309
> 

-- 
Matt Benjamin
Red Hat, Inc.
315 West Huron Street, Suite 140A
Ann Arbor, Michigan 48103

http://www.redhat.com/en/technologies/storage

tel.  734-821-5101
fax.  734-769-8938
cel.  734-216-5309

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to