Skip to content

Commit 3dc00bc

Browse files
MaxKellermannbrauner
authored andcommitted
fs/netfs: remove netfs_io_request.ractl
Since this field is only used by netfs_prepare_read_iterator() when called by netfs_readahead(), we can simply pass it as parameter. This shrinks the struct from 576 to 568 bytes. Signed-off-by: Max Kellermann <[email protected]> Signed-off-by: David Howells <[email protected]> Link: https://lore.kernel.org/[email protected] cc: Paulo Alcantara <[email protected]> cc: [email protected] cc: [email protected] Signed-off-by: Christian Brauner <[email protected]>
1 parent 314ee70 commit 3dc00bc

File tree

2 files changed

+12
-13
lines changed

2 files changed

+12
-13
lines changed

fs/netfs/buffered_read.c

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,15 +78,16 @@ static int netfs_begin_cache_read(struct netfs_io_request *rreq, struct netfs_in
7878
* [!] NOTE: This must be run in the same thread as ->issue_read() was called
7979
* in as we access the readahead_control struct.
8080
*/
81-
static ssize_t netfs_prepare_read_iterator(struct netfs_io_subrequest *subreq)
81+
static ssize_t netfs_prepare_read_iterator(struct netfs_io_subrequest *subreq,
82+
struct readahead_control *ractl)
8283
{
8384
struct netfs_io_request *rreq = subreq->rreq;
8485
size_t rsize = subreq->len;
8586

8687
if (subreq->source == NETFS_DOWNLOAD_FROM_SERVER)
8788
rsize = umin(rsize, rreq->io_streams[0].sreq_max_len);
8889

89-
if (rreq->ractl) {
90+
if (ractl) {
9091
/* If we don't have sufficient folios in the rolling buffer,
9192
* extract a folioq's worth from the readahead region at a time
9293
* into the buffer. Note that this acquires a ref on each page
@@ -99,7 +100,7 @@ static ssize_t netfs_prepare_read_iterator(struct netfs_io_subrequest *subreq)
99100
while (rreq->submitted < subreq->start + rsize) {
100101
ssize_t added;
101102

102-
added = rolling_buffer_load_from_ra(&rreq->buffer, rreq->ractl,
103+
added = rolling_buffer_load_from_ra(&rreq->buffer, ractl,
103104
&put_batch);
104105
if (added < 0)
105106
return added;
@@ -211,7 +212,8 @@ static void netfs_issue_read(struct netfs_io_request *rreq,
211212
* slicing up the region to be read according to available cache blocks and
212213
* network rsize.
213214
*/
214-
static void netfs_read_to_pagecache(struct netfs_io_request *rreq)
215+
static void netfs_read_to_pagecache(struct netfs_io_request *rreq,
216+
struct readahead_control *ractl)
215217
{
216218
struct netfs_inode *ictx = netfs_inode(rreq->inode);
217219
unsigned long long start = rreq->start;
@@ -291,7 +293,7 @@ static void netfs_read_to_pagecache(struct netfs_io_request *rreq)
291293
break;
292294

293295
issue:
294-
slice = netfs_prepare_read_iterator(subreq);
296+
slice = netfs_prepare_read_iterator(subreq, ractl);
295297
if (slice < 0) {
296298
ret = slice;
297299
subreq->error = ret;
@@ -359,11 +361,10 @@ void netfs_readahead(struct readahead_control *ractl)
359361

360362
netfs_rreq_expand(rreq, ractl);
361363

362-
rreq->ractl = ractl;
363364
rreq->submitted = rreq->start;
364365
if (rolling_buffer_init(&rreq->buffer, rreq->debug_id, ITER_DEST) < 0)
365366
goto cleanup_free;
366-
netfs_read_to_pagecache(rreq);
367+
netfs_read_to_pagecache(rreq, ractl);
367368

368369
netfs_put_request(rreq, true, netfs_rreq_trace_put_return);
369370
return;
@@ -389,7 +390,6 @@ static int netfs_create_singular_buffer(struct netfs_io_request *rreq, struct fo
389390
if (added < 0)
390391
return added;
391392
rreq->submitted = rreq->start + added;
392-
rreq->ractl = (struct readahead_control *)1UL;
393393
return 0;
394394
}
395395

@@ -459,7 +459,7 @@ static int netfs_read_gaps(struct file *file, struct folio *folio)
459459
iov_iter_bvec(&rreq->buffer.iter, ITER_DEST, bvec, i, rreq->len);
460460
rreq->submitted = rreq->start + flen;
461461

462-
netfs_read_to_pagecache(rreq);
462+
netfs_read_to_pagecache(rreq, NULL);
463463

464464
if (sink)
465465
folio_put(sink);
@@ -528,7 +528,7 @@ int netfs_read_folio(struct file *file, struct folio *folio)
528528
if (ret < 0)
529529
goto discard;
530530

531-
netfs_read_to_pagecache(rreq);
531+
netfs_read_to_pagecache(rreq, NULL);
532532
ret = netfs_wait_for_read(rreq);
533533
netfs_put_request(rreq, false, netfs_rreq_trace_put_return);
534534
return ret < 0 ? ret : 0;
@@ -685,7 +685,7 @@ int netfs_write_begin(struct netfs_inode *ctx,
685685
if (ret < 0)
686686
goto error_put;
687687

688-
netfs_read_to_pagecache(rreq);
688+
netfs_read_to_pagecache(rreq, NULL);
689689
ret = netfs_wait_for_read(rreq);
690690
if (ret < 0)
691691
goto error;
@@ -750,7 +750,7 @@ int netfs_prefetch_for_write(struct file *file, struct folio *folio,
750750
if (ret < 0)
751751
goto error_put;
752752

753-
netfs_read_to_pagecache(rreq);
753+
netfs_read_to_pagecache(rreq, NULL);
754754
ret = netfs_wait_for_read(rreq);
755755
netfs_put_request(rreq, false, netfs_rreq_trace_put_return);
756756
return ret < 0 ? ret : 0;

include/linux/netfs.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,6 @@ struct netfs_io_request {
228228
struct kiocb *iocb; /* AIO completion vector */
229229
struct netfs_cache_resources cache_resources;
230230
struct netfs_io_request *copy_to_cache; /* Request to write just-read data to the cache */
231-
struct readahead_control *ractl; /* Readahead descriptor */
232231
struct list_head proc_link; /* Link in netfs_iorequests */
233232
struct netfs_io_stream io_streams[2]; /* Streams of parallel I/O operations */
234233
#define NR_IO_STREAMS 2 //wreq->nr_io_streams

0 commit comments

Comments
 (0)