Here are all the ops that need to be supported through MDCACHE, I am not sure it it is the way of any call-backs. Marc.
static void dsh_ops_init(struct fsal_dsh_ops *ops) { /* redundant copy, but you never know about the future... */ memcpy(ops, &def_dsh_ops, sizeof(struct fsal_dsh_ops)); ops->release = ds_release; ops->read = ds_read; ops->read_plus = ds_read_plus; ops->write = ds_write; ops->write_plus = ds_write_plus; ops->commit = ds_commit; } /** * @brief set ops layout * * @param ops reference to object */ void handle_ops_pnfs(struct fsal_obj_ops *ops) { ops->layoutget = layoutget; ops->layoutreturn = layoutreturn; ops->layoutcommit = layoutcommit; } From: Marc Eshel/Almaden/IBM To: Marc Eshel/Almaden/IBM@IBMUS, d...@redhat.com Cc: "Frank Filz" <ffilz...@mindspring.com>, nfs-ganesha-devel@lists.sourceforge.net Date: 07/23/2016 09:25 PM Subject: FSAL_MDCACHE and pNFS It looks like FSAL_MDCACHE changes patch cafbe60c broke more than exports op redirection for pNFS. state_add() is called by acquire_layout_state() with the mutex held so we might need an option on state_add() the indicates if the mutex is held. After that problem we hit another export ops below that is not directed to the real FSAL, is there a way to fix them all and not one at a time? Thanks, Marc. /* max_segment_count is also an indication of if fsal supports pnfs */ max_segment_count = op_ctx->fsal_export->exp_ops. fs_maximum_segments(op_ctx->fsal_export); if (max_segment_count == 0) { LogWarn(COMPONENT_PNFS, "The FSAL must specify a non-zero fs_maximum_segments."); nfs_status = NFS4ERR_LAYOUTUNAVAILABLE; goto out; } From: Marc Eshel/Almaden/IBM@IBMUS To: "Frank Filz" <ffilz...@mindspring.com> Cc: nfs-ganesha-devel@lists.sourceforge.net Date: 07/22/2016 04:00 PM Subject: Re: [Nfs-ganesha-devel] Announce Push of V2.4-dev-26 We are making progress, now we return the file layout attribute 197.618970099 9141 TRACE_GANESHA: [work-65] nfs4_FSALattr_To_Fattr :NFS4 :F_DBG :Encoded attr 62, name = FATTR4_FS_LAYOUT_TYPES but we fail on the first layout get 210.125317087 9147 TRACE_GANESHA: [work-71] nfs4_Compound :NFS4 :DEBUG :Request 2: opcode 50 is OP_LAYOUTGET 210.137484089 9147 TRACE_GANESHA: [work-71] nfs4_Compound :NFS4 :M_DBG :NFS4: MID DEBUG: Check export perms export = 000000f0 req = 00000040 210.149620502 9147 TRACE_GANESHA: [work-71] state_add :RW LOCK :CRIT :Error 35, write locking 0x7f5e040012b0 (&obj->state_hdl->state_lock) at /nas/ganesha/new-ganesha/src/SAL/nfs4_state.c:299 Marc. From: "Frank Filz" <ffilz...@mindspring.com> To: <nfs-ganesha-devel@lists.sourceforge.net> Date: 07/22/2016 02:16 PM Subject: [Nfs-ganesha-devel] Announce Push of V2.4-dev-26 Branch next Tag:V2.4-dev-26 Release Highlights * A variety of small fixes * RGW: Add 3 new config options Signed-off-by: Frank S. Filz <ffilz...@mindspring.com> Contents: 5ba03b2 Frank S. Filz V2.4-dev-26 77c71ae Marc Eshel GPFS_FSAL: Use a shorter file handle. a910381 Swen Schillig [valgrind] memory leak in mdcache_exp_release() 1c45f6a Matt Benjamin rgw: add 3 new config options 93631a9 Malahal Naineni Chomp tailing slash from pseudopath 036703e Kaleb S KEITHLEY misc fsals: 32-bit fmt strings, gcc-6.1 possible uninit'd use a336200 Soumya Koduri FSAL_GLUSTER/Upcall: Change poll interval to 10us 0923be1 Soumya Koduri FSAL_GLUSTER: Coverity fixes e9f4d55 ajay nair Fixes error in sample configuration file of FSAL ZFS f7c37f7 ajay Removed warnings in make by solving conflicts from cong_yacc.y 7d67e10 Daniel Gryniewicz Clang fix - don't double initialize 9ec03b6 Daniel Gryniewicz Coverity fixes d3eff0f Daniel Gryniewicz MDCACHE - stack all the pNFS export ops f75b336 Frank S. Filz NFS4: Actually set fsid and fileid in the returned attributes --- 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.http://sdm.link/zohodev2dev _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel ------------------------------------------------------------------------------ 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.http://sdm.link/zohodev2dev _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel ------------------------------------------------------------------------------ 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.http://sdm.link/zohodev2dev _______________________________________________ Nfs-ganesha-devel mailing list Nfs-ganesha-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel