Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9e97198d authored by Jens Axboe's avatar Jens Axboe
Browse files

splice: fix problem with atime not being updated



A bug report on nfsd that states that since it was switched to use
splice instead of sendfile, the atime was no longer being updated
on the input file. do_generic_mapping_read() does this when accessing
the file, make splice do it for the direct splice handler.

Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 12f32bb3
Loading
Loading
Loading
Loading
+7 −8
Original line number Diff line number Diff line
@@ -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);