Thread (31 messages) 31 messages, 4 authors, 2024-08-02

Re: [PATCH 18/24] netfs: Speed up buffered reading

From: Simon Horman <horms@kernel.org>
Date: 2024-08-02 14:44:12
Also in: ceph-devel, linux-cifs, linux-fsdevel, linux-mm, linux-nfs, lkml, netfs, v9fs

On Fri, Aug 02, 2024 at 03:18:02PM +0100, David Howells wrote:
Simon Horman [off-list ref] wrote:
quoted
If the code ever reaches this line, then slice will be used
uninitialised below.
It can't actually happen (or, at least, it shouldn't).  There are only three
ways of obtaining data: downloading from the server
(NETFS_DOWNLOAD_FROM_SERVER), reading from the cache (NETFS_READ_FROM_CACHE)
and just clearing space (NETFS_FILL_WITH_ZEROES); each of those has its own
if-statement that will set 'slice' or will switch the source to a different
type that will set 'slice'.

The problem is that the compiler doesn't know this.

The check for NETFS_INVALID_READ is there just in case.  Possibly:

		if (source == NETFS_INVALID_READ)
			break;

could be replaced with a WARN_ON_ONCE() and an unconditional break.
Thanks, I think that should make the compiler happy without
significantly altering the flow or readability of the code.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help