Skip to content

Commit 41d36a9

Browse files
Christoph Hellwigaxboe
authored andcommitted
fs: remove kiocb.ki_hint
This field is entirely unused now except for a tracepoint in f2fs, so remove it. Signed-off-by: Christoph Hellwig <[email protected]> Reviewed-by: Dave Chinner <[email protected]> Reviewed-by: Chaitanya Kulkarni <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Jens Axboe <[email protected]>
1 parent c75e707 commit 41d36a9

File tree

6 files changed

+1
-24
lines changed

6 files changed

+1
-24
lines changed

fs/aio.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1478,7 +1478,6 @@ static int aio_prep_rw(struct kiocb *req, const struct iocb *iocb)
14781478
req->ki_flags = iocb_flags(req->ki_filp);
14791479
if (iocb->aio_flags & IOCB_FLAG_RESFD)
14801480
req->ki_flags |= IOCB_EVENTFD;
1481-
req->ki_hint = ki_hint_validate(file_write_hint(req->ki_filp));
14821481
if (iocb->aio_flags & IOCB_FLAG_IOPRIO) {
14831482
/*
14841483
* If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then

fs/cachefiles/io.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,6 @@ static int cachefiles_read(struct netfs_cache_resources *cres,
138138
ki->iocb.ki_filp = file;
139139
ki->iocb.ki_pos = start_pos + skipped;
140140
ki->iocb.ki_flags = IOCB_DIRECT;
141-
ki->iocb.ki_hint = ki_hint_validate(file_write_hint(file));
142141
ki->iocb.ki_ioprio = get_current_ioprio();
143142
ki->skipped = skipped;
144143
ki->object = object;
@@ -313,7 +312,6 @@ static int cachefiles_write(struct netfs_cache_resources *cres,
313312
ki->iocb.ki_filp = file;
314313
ki->iocb.ki_pos = start_pos;
315314
ki->iocb.ki_flags = IOCB_DIRECT | IOCB_WRITE;
316-
ki->iocb.ki_hint = ki_hint_validate(file_write_hint(file));
317315
ki->iocb.ki_ioprio = get_current_ioprio();
318316
ki->object = object;
319317
ki->inval_counter = cres->inval_counter;

fs/f2fs/file.c

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4479,10 +4479,8 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
44794479
struct f2fs_inode_info *fi = F2FS_I(inode);
44804480
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
44814481
const bool do_opu = f2fs_lfs_mode(sbi);
4482-
const int whint_mode = F2FS_OPTION(sbi).whint_mode;
44834482
const loff_t pos = iocb->ki_pos;
44844483
const ssize_t count = iov_iter_count(from);
4485-
const enum rw_hint hint = iocb->ki_hint;
44864484
unsigned int dio_flags;
44874485
struct iomap_dio *dio;
44884486
ssize_t ret;
@@ -4515,8 +4513,6 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
45154513
if (do_opu)
45164514
down_read(&fi->i_gc_rwsem[READ]);
45174515
}
4518-
if (whint_mode == WHINT_MODE_OFF)
4519-
iocb->ki_hint = WRITE_LIFE_NOT_SET;
45204516

45214517
/*
45224518
* We have to use __iomap_dio_rw() and iomap_dio_complete() instead of
@@ -4539,8 +4535,6 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
45394535
ret = iomap_dio_complete(dio);
45404536
}
45414537

4542-
if (whint_mode == WHINT_MODE_OFF)
4543-
iocb->ki_hint = hint;
45444538
if (do_opu)
45454539
up_read(&fi->i_gc_rwsem[READ]);
45464540
up_read(&fi->i_gc_rwsem[WRITE]);

fs/io_uring.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3747,7 +3747,6 @@ static int io_write_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
37473747
{
37483748
if (unlikely(!(req->file->f_mode & FMODE_WRITE)))
37493749
return -EBADF;
3750-
req->rw.kiocb.ki_hint = ki_hint_validate(file_write_hint(req->file));
37513750
return io_prep_rw(req, sqe);
37523751
}
37533752

include/linux/fs.h

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -327,7 +327,6 @@ struct kiocb {
327327
void (*ki_complete)(struct kiocb *iocb, long ret);
328328
void *private;
329329
int ki_flags;
330-
u16 ki_hint;
331330
u16 ki_ioprio; /* See linux/ioprio.h */
332331
struct wait_page_queue *ki_waitq; /* for async buffered IO */
333332
randomized_struct_fields_end
@@ -2225,21 +2224,11 @@ static inline enum rw_hint file_write_hint(struct file *file)
22252224

22262225
static inline int iocb_flags(struct file *file);
22272226

2228-
static inline u16 ki_hint_validate(enum rw_hint hint)
2229-
{
2230-
typeof(((struct kiocb *)0)->ki_hint) max_hint = -1;
2231-
2232-
if (hint <= max_hint)
2233-
return hint;
2234-
return 0;
2235-
}
2236-
22372227
static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp)
22382228
{
22392229
*kiocb = (struct kiocb) {
22402230
.ki_filp = filp,
22412231
.ki_flags = iocb_flags(filp),
2242-
.ki_hint = ki_hint_validate(file_write_hint(filp)),
22432232
.ki_ioprio = get_current_ioprio(),
22442233
};
22452234
}
@@ -2250,7 +2239,6 @@ static inline void kiocb_clone(struct kiocb *kiocb, struct kiocb *kiocb_src,
22502239
*kiocb = (struct kiocb) {
22512240
.ki_filp = filp,
22522241
.ki_flags = kiocb_src->ki_flags,
2253-
.ki_hint = kiocb_src->ki_hint,
22542242
.ki_ioprio = kiocb_src->ki_ioprio,
22552243
.ki_pos = kiocb_src->ki_pos,
22562244
};

include/trace/events/f2fs.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -956,12 +956,11 @@ TRACE_EVENT(f2fs_direct_IO_enter,
956956
__entry->rw = rw;
957957
),
958958

959-
TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_hint = %x ki_ioprio = %x rw = %d",
959+
TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_ioprio = %x rw = %d",
960960
show_dev_ino(__entry),
961961
__entry->iocb->ki_pos,
962962
__entry->len,
963963
__entry->iocb->ki_flags,
964-
__entry->iocb->ki_hint,
965964
__entry->iocb->ki_ioprio,
966965
__entry->rw)
967966
);

0 commit comments

Comments
 (0)