On Thu, Dec 10, 2009 at 08:53:08PM +0200, Benny Halevy wrote: > On Dec. 10, 2009, 19:30 +0200, " J. Bruce Fields" <bfields@xxxxxxxxxxxxxx> wrote: > > On Mon, Dec 07, 2009 at 11:32:10AM +0200, Benny Halevy wrote: > >> +static __be32 > >> +nfsd4_getdevinfo(struct svc_rqst *rqstp, > >> + struct nfsd4_compound_state *cstate, > >> + struct nfsd4_pnfs_getdevinfo *gdp) > >> +{ > >> + struct super_block *sb; > >> + struct svc_export *exp = NULL; > >> + u32 fsidv = gdp->gd_devid.fsid; > >> + int status; > >> + > >> + dprintk("%s: layout_type %u dev_id %llx:%llx maxcnt %u\n", > >> + __func__, gdp->gd_layout_type, gdp->gd_devid.fsid, > >> + gdp->gd_devid.devid, gdp->gd_maxcount); > >> + > >> + status = nfserr_inval; > >> + exp = rqst_exp_find(rqstp, FSID_NUM, &fsidv); > > > > As I said before, this seems to require an fsid= option on every pnfs > > export. We shouldn't need that. > > If there a better way to get to the sb given the fsid? > Since we don't have a current_fh for getdeviceinfo the alternative > might be to map the deviceids to sb's in the generic layer. Does the deviceid even need to persist over reboots? If not, then just an index into an in-memory table might be good enough. If it does need to persist, then I guess we should look at the filehandle-decoding code for inspiration. --b. -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html