All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benny Halevy <bhalevy@panasas.com>
To: peter.staubach@emc.com, andros@netapp.com
Cc: trond.myklebust@netapp.com, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 2/2] NFSv4.1 convert layoutcommit sync to boolean
Date: Fri, 25 Mar 2011 11:30:26 +0200	[thread overview]
Message-ID: <4D8C60B2.7090503@panasas.com> (raw)
In-Reply-To: <5E6794FC7B8FCA41A704019BE3C70E8B069D3AAA@MX31A.corp.emc.com>

On 2011-03-24 21:50, peter.staubach@emc.com wrote:

> In nfs4_proc_layoutcommit(), I think that it read better as "if (!sync)".  Wasn't that part of the whole point of switching to boolean instead of just an int?  :-)

==

Otherwise, my ACK :)

Benny

> 	Thanx...
>
> 		ps
>
>
> -----Original Message-----
> From: linux-nfs-owner@vger.kernel.org [mailto:linux-nfs-owner@vger.kernel.org] On Behalf Of andros@netapp.com
> Sent: Saturday, March 12, 2011 2:58 AM
> To: trond.myklebust@netapp.com
> Cc: linux-nfs@vger.kernel.org; Andy Adamson
> Subject: [PATCH 2/2] NFSv4.1 convert layoutcommit sync to boolean
>
> From: Andy Adamson <andros@netapp.com>
>
> Signed-off-by: Andy Adamson <andros@netapp.com>
> ---
>  fs/nfs/file.c     |    2 +-
>  fs/nfs/nfs4_fs.h  |    2 +-
>  fs/nfs/nfs4proc.c |    4 ++--
>  fs/nfs/pnfs.c     |    2 +-
>  fs/nfs/pnfs.h     |    4 ++--
>  fs/nfs/write.c    |    8 +++++---
>  6 files changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/fs/nfs/file.c b/fs/nfs/file.c
> index 85cb95d..3ac5bd6 100644
> --- a/fs/nfs/file.c
> +++ b/fs/nfs/file.c
> @@ -328,7 +328,7 @@ nfs_file_fsync(struct file *file, int datasync)
>  		ret = status;
>  	if (!ret && !datasync)
>  		/* application has asked for meta-data sync */
> -		ret = pnfs_layoutcommit_inode(inode, 1);
> +		ret = pnfs_layoutcommit_inode(inode, true);
>  	return ret;
>  }
>  
> diff --git a/fs/nfs/nfs4_fs.h b/fs/nfs/nfs4_fs.h
> index 1e612d1..4414fd7 100644
> --- a/fs/nfs/nfs4_fs.h
> +++ b/fs/nfs/nfs4_fs.h
> @@ -263,7 +263,7 @@ extern int nfs4_init_session(struct nfs_server *server);
>  extern int nfs4_proc_get_lease_time(struct nfs_client *clp,
>  		struct nfs_fsinfo *fsinfo);
>  extern int nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data,
> -				  int sync);
> +				  bool sync);
>  
>  static inline bool
>  is_ds_only_client(struct nfs_client *clp)
> diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c
> index 6f2f402..43045fa 100644
> --- a/fs/nfs/nfs4proc.c
> +++ b/fs/nfs/nfs4proc.c
> @@ -5671,7 +5671,7 @@ static const struct rpc_call_ops nfs4_layoutcommit_ops = {
>  };
>  
>  int
> -nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, int sync)
> +nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, bool sync)
>  {
>  	struct rpc_message msg = {
>  		.rpc_proc = &nfs4_procedures[NFSPROC4_CLNT_LAYOUTCOMMIT],
> @@ -5699,7 +5699,7 @@ nfs4_proc_layoutcommit(struct nfs4_layoutcommit_data *data, int sync)
>  	task = rpc_run_task(&task_setup_data);
>  	if (IS_ERR(task))
>  		return PTR_ERR(task);
> -	if (!sync)
> +	if (sync == false)
>  		goto out;
>  	status = nfs4_wait_for_completion_rpc_task(task);
>  	if (status != 0)
> diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c
> index ac71125..22c2ddb 100644
> --- a/fs/nfs/pnfs.c
> +++ b/fs/nfs/pnfs.c
> @@ -991,7 +991,7 @@ EXPORT_SYMBOL_GPL(pnfs_set_layoutcommit);
>   * if WRITEs to a data server return NFS_DATA_SYNC.
>   */
>  int
> -pnfs_layoutcommit_inode(struct inode *inode, int sync)
> +pnfs_layoutcommit_inode(struct inode *inode, bool sync)
>  {
>  	struct nfs4_layoutcommit_data *data;
>  	struct nfs_inode *nfsi = NFS_I(inode);
> diff --git a/fs/nfs/pnfs.h b/fs/nfs/pnfs.h
> index 0806c77..33b9ae9 100644
> --- a/fs/nfs/pnfs.h
> +++ b/fs/nfs/pnfs.h
> @@ -155,7 +155,7 @@ void pnfs_roc_release(struct inode *ino);
>  void pnfs_roc_set_barrier(struct inode *ino, u32 barrier);
>  bool pnfs_roc_drain(struct inode *ino, u32 *barrier);
>  void pnfs_set_layoutcommit(struct nfs_write_data *wdata);
> -int pnfs_layoutcommit_inode(struct inode *inode, int sync);
> +int pnfs_layoutcommit_inode(struct inode *inode, bool sync);
>  
>  static inline int lo_fail_bit(u32 iomode)
>  {
> @@ -328,7 +328,7 @@ static inline void pnfs_clear_request_commit(struct nfs_page *req)
>  {
>  }
>  
> -static inline int pnfs_layoutcommit_inode(struct inode *inode, int sync)
> +static inline int pnfs_layoutcommit_inode(struct inode *inode, bool sync)
>  {
>  	return 0;
>  }
> diff --git a/fs/nfs/write.c b/fs/nfs/write.c
> index a03c11f..85d7525 100644
> --- a/fs/nfs/write.c
> +++ b/fs/nfs/write.c
> @@ -1566,10 +1566,12 @@ int nfs_write_inode(struct inode *inode, struct writeback_control *wbc)
>  
>  	ret = nfs_commit_unstable_pages(inode, wbc);
>  	if (ret >= 0 && test_bit(NFS_INO_LAYOUTCOMMIT, &NFS_I(inode)->flags)) {
> -		int status, sync = wbc->sync_mode;
> +		int status;
> +		bool sync = true;
>  
> -		if (wbc->nonblocking || wbc->for_background)
> -				sync = 0;
> +		if (wbc->sync_mode == WB_SYNC_NONE || wbc->nonblocking ||
> +		    wbc->for_background)
> +			sync = false;
>  
>  		status = pnfs_layoutcommit_inode(inode, sync);
>  		if (status < 0)


      reply	other threads:[~2011-03-25  9:30 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-12  7:58 [PATCH 1/2] NFSv4.1 pnfs_layoutcommit_inode fixes andros
2011-03-12  7:58 ` [PATCH 2/2] NFSv4.1 convert layoutcommit sync to boolean andros
2011-03-24 19:50   ` peter.staubach
2011-03-25  9:30     ` Benny Halevy [this message]

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=4D8C60B2.7090503@panasas.com \
    --to=bhalevy@panasas.com \
    --cc=andros@netapp.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=peter.staubach@emc.com \
    --cc=trond.myklebust@netapp.com \
    /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.