Linux NFS development
 help / color / mirror / Atom feed
From: "J. Bruce Fields" <bfields@fieldses.org>
To: Jens Axboe <jens.axboe@oracle.com>
Cc: Frank van Maarseveen <frankvm@frankvm.com>,
	Trond Myklebust <trond.myklebust@fys.uio.no>,
	Andre Majorel <aym-xunil-Bi/FLWfhfolQFI55V6+gNQ@public.gmane.org>,
	linux-nfs@vger.kernel.org
Subject: Re: atimes not updated over NFS
Date: Tue, 29 Jan 2008 15:09:01 -0500	[thread overview]
Message-ID: <20080129200901.GI28032@fieldses.org> (raw)
In-Reply-To: <20080129195155.GS15220@kernel.dk>

On Tue, Jan 29, 2008 at 08:51:55PM +0100, Jens Axboe wrote:
> On Tue, Jan 29 2008, J. Bruce Fields wrote:
> > Hm.  It's still missing a case.  I've confirmed that the following fixes
> > the problem.  (Or maybe it would be better to have them "goto" a common
> > out with the file_accessed() check?)
> 
> Indeed it is, insert standard disclaimer here on the evil of multiple
> returns. So can we agree that this then fixes both cases?

Yep, thanks!  And I ran one more test just to make sure.  Looks fine.

--b.
> 
> diff --git a/fs/splice.c b/fs/splice.c
> index 0a0b79b..1577a73 100644
> --- a/fs/splice.c
> +++ b/fs/splice.c
> @@ -1031,7 +1031,11 @@ ssize_t splice_direct_to_actor(struct file *in, struct splice_desc *sd,
>  			goto out_release;
>  	}
>  
> +done:
>  	pipe->nrbufs = pipe->curbuf = 0;
> +	if (bytes > 0)
> +		file_accessed(in);
> +
>  	return bytes;
>  
>  out_release:
> @@ -1047,16 +1051,11 @@ out_release:
>  			buf->ops = NULL;
>  		}
>  	}
> -	pipe->nrbufs = pipe->curbuf = 0;
> -
> -	/*
> -	 * If we transferred some data, return the number of bytes:
> -	 */
> -	if (bytes > 0)
> -		return bytes;
>  
> -	return ret;
> +	if (!bytes)
> +		bytes = ret;
>  
> +	goto done;
>  }
>  EXPORT_SYMBOL(splice_direct_to_actor);
>  
> 
> -- 
> Jens Axboe
> 

  reply	other threads:[~2008-01-29 20:09 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-09 10:13 atimes not updated over NFS Andre Majorel
     [not found] ` <20080109101313.GG9212-956IwFboN44acnK+F/IuxqxOck334EZe@public.gmane.org>
2008-01-09 15:27   ` Trond Myklebust
     [not found]     ` <1199892437.11141.2.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-01-09 22:37       ` Andre Majorel
     [not found]         ` <20080109223748.GH9212-956IwFboN44acnK+F/IuxqxOck334EZe@public.gmane.org>
2008-01-09 23:23           ` Trond Myklebust
     [not found]             ` <1199920996.7638.3.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-01-09 23:31               ` Trond Myklebust
2008-01-09 23:51               ` Andre Majorel
     [not found]                 ` <20080109235153.GI9212-956IwFboN44acnK+F/IuxqxOck334EZe@public.gmane.org>
2008-01-14  8:34                   ` Frank van Maarseveen
2008-01-14 15:43                     ` Trond Myklebust
     [not found]                       ` <1200325393.7470.6.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-01-14 17:51                         ` Frank van Maarseveen
2008-01-21 19:06                           ` J. Bruce Fields
2008-01-21 19:31                             ` Trond Myklebust
     [not found]                               ` <1200943865.25562.56.camel-rJ7iovZKK19ZJLDQqaL3InhyD016LWXt@public.gmane.org>
2008-01-21 21:02                                 ` Frank van Maarseveen
2008-01-21 21:09                                   ` J. Bruce Fields
2008-01-22 17:17                                     ` J. Bruce Fields
2008-01-29  2:59                                       ` J. Bruce Fields
2008-01-29  4:14                                         ` J. Bruce Fields
2008-01-29  8:34                                           ` Jens Axboe
2008-01-29 18:27                                             ` J. Bruce Fields
2008-01-29 18:30                                               ` Jens Axboe
2008-01-29 19:45                                                 ` J. Bruce Fields
2008-01-29 19:51                                                   ` Jens Axboe
2008-01-29 20:09                                                     ` J. Bruce Fields [this message]
2008-01-29 20:12                                                       ` Jens Axboe
2008-01-29 20:37                                                 ` Andre Majorel
     [not found]                                                   ` <20080129203713.GS17213-956IwFboN44acnK+F/IuxqxOck334EZe@public.gmane.org>
2008-01-30 11:23                                                     ` Jens Axboe
2008-01-30 12:13                                                       ` Andre Majorel

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=20080129200901.GI28032@fieldses.org \
    --to=bfields@fieldses.org \
    --cc=aym-xunil-Bi/FLWfhfolQFI55V6+gNQ@public.gmane.org \
    --cc=frankvm@frankvm.com \
    --cc=jens.axboe@oracle.com \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trond.myklebust@fys.uio.no \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox