All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: Tao Guo <glorioustao@gmail.com>, Fredric Isaman <iisaman@citi.umich.edu>
Cc: bfields@citi.umich.edu, linux-nfs@vger.kernel.org, pnfs@linux-nfs.org
Subject: Re: [pnfs] [PATCH]pnfsd: make pnfs server return layout_blksize when the client asks for it
Date: Sat, 27 Jun 2009 18:53:29 +0300	[thread overview]
Message-ID: <4A464079.3090805@panasas.com> (raw)
In-Reply-To: <318b7ac70906252004q61cfd571h1788e8fb448c46f5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Tao,

I'd appreciate if you could send patches in plain text, otherwise
they are much harder to apply.

Fred: can you please verify this in your environment since I think that
only the block layout relies on that at the moment.

Please see comments below.

On Jun. 26, 2009, 6:04 +0300, Tao Guo <glorioustao@gmail.com> wrote:
> commit 717f53b333a8c4c5238b1192640ad5078c683f5f
> Author: Tao Guo <guotao-U4AKAne5IzAR5TUyvShJeg@public.gmane.org <mailto:guotao-U4AKAne5IzAR5TUyvShJeg@public.gmane.org>>
> Date:   Fri Jun 26 10:46:13 2009 +0800
> 
>     pnfsd: make pnfs server return layout_blksize when the client asks
> for it.
>    
>     pnfs: replace lease_bitmap to length 3, instead of 2.
>    
>     Referred to commit 3e8c8312e4b...
> 
> diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
> index 95b7387..f264c15 100644
> --- a/fs/nfs/nfs4xdr.c
> +++ b/fs/nfs/nfs4xdr.c
> @@ -2573,7 +2573,7 @@ static int nfs4_xdr_enc_setclientid_confirm(struct
> rpc_rqst *req, __be32 *p, str
>      struct compound_hdr hdr = {
>          .nops    = 0,
>      };
> -    const u32 lease_bitmap[2] = { FATTR4_WORD0_LEASE_TIME, 0 };
> +    const u32 lease_bitmap[3] = { FATTR4_WORD0_LEASE_TIME, 0, 0 };
>  
>      xdr_init_encode(&xdr, &req->rq_snd_buf, p);
>      encode_compound_hdr(&xdr, req, &hdr);

a. same should also be done in nfs4_xdr_enc_get_lease_time
b. please submit as separate patch as it fixes a bug independently.

> diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c
> index 6959787..2854576 100644
> --- a/fs/nfsd/nfs4xdr.c
> +++ b/fs/nfsd/nfs4xdr.c
> @@ -2345,6 +2345,13 @@ out_acl:
>              WRITE32(0);  /* length */
>      }
>  #endif /* CONFIG_PNFSD */
> +
> +    if (bmval2 & FATTR4_WORD2_LAYOUT_BLKSIZE) {
> +        if ((buflen -= 4) < 0)
> +            goto out_resource;
> +        WRITE32(stat.blksize);
> +    }
> +

let's put this inside the #ifdef CONFIG_PNFSD block for now.
I'm not 100% sure about returning stat.blksize for the layout_blksize
but that will do for now.

Thanks!

Benny

>      if (bmval2 & FATTR4_WORD2_SUPPATTR_EXCLCREAT) {
>          WRITE32(3);
>          WRITE32(NFSD_SUPPATTR_EXCLCREAT_WORD0);
> diff --git a/include/linux/nfsd/nfsd.h b/include/linux/nfsd/nfsd.h
> index 5177c54..056e012 100644
> --- a/include/linux/nfsd/nfsd.h
> +++ b/include/linux/nfsd/nfsd.h
> @@ -382,7 +382,8 @@ extern struct timeval    nfssvc_boot;
>  #endif /* CONFIG_PNFSD */
>  
>  #define NFSD4_1_SUPPORTED_ATTRS_WORD2 \
> -    (NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT)
> +    (NFSD4_SUPPORTED_ATTRS_WORD2 | FATTR4_WORD2_SUPPATTR_EXCLCREAT | \
> +     FATTR4_WORD2_LAYOUT_BLKSIZE)
>  
>  static inline u32 nfsd_suppattrs0(u32 minorversion)
>  {
> -- 
> tao.
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> pNFS mailing list
> pNFS@linux-nfs.org
> http://linux-nfs.org/cgi-bin/mailman/listinfo/pnfs

       reply	other threads:[~2009-06-27 15:53 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <318b7ac70906252004q61cfd571h1788e8fb448c46f5@mail.gmail.com>
     [not found] ` <318b7ac70906252004q61cfd571h1788e8fb448c46f5-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-06-27 15:53   ` Benny Halevy [this message]
2009-06-29  2:09     ` [pnfs] [PATCH]pnfsd: make pnfs server return layout_blksize when the client asks for it Tao Guo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A464079.3090805@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=bfields@citi.umich.edu \
    --cc=glorioustao@gmail.com \
    --cc=iisaman@citi.umich.edu \
    --cc=linux-nfs@vger.kernel.org \
    --cc=pnfs@linux-nfs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.