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. Thabks, 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: Daniel Gryniewicz <d...@redhat.com> To: Marc Eshel/Almaden/IBM@IBMUS Cc: Frank Filz <ffilz...@mindspring.com>, nfs-ganesha-devel@lists.sourceforge.net Date: 07/26/2016 06:23 AM Subject: Re: FSAL_MDCACHE and pNFS I'll go through and make sure that all ops that are stackable are passed through. Sorry about this. Daniel On 07/24/2016 01:53 AM, Marc Eshel wrote: > correction, the NFS4ERR_LAYOUTUNAVAILABLE is coming from > FSAL/default_methods.c > > static nfsstat4 layoutget(struct fsal_obj_handle *obj_hdl, > struct req_op_context *req_ctx, XDR *loc_body, > const struct fsal_layoutget_arg *arg, > struct fsal_layoutget_res *res) > { > return NFS4ERR_LAYOUTUNAVAILABLE; > } > > > > 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