mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-04-13 09:59:31 +00:00
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 <hch@lst.de> Reviewed-by: Dave Chinner <dchinner@redhat.com> Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com> Link: https://lore.kernel.org/r/20220308060529.736277-2-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
c75e707fe1
commit
41d36a9f3e
6 changed files with 1 additions and 24 deletions
1
fs/aio.c
1
fs/aio.c
|
@ -1478,7 +1478,6 @@ static int aio_prep_rw(struct kiocb *req, const struct iocb *iocb)
|
||||||
req->ki_flags = iocb_flags(req->ki_filp);
|
req->ki_flags = iocb_flags(req->ki_filp);
|
||||||
if (iocb->aio_flags & IOCB_FLAG_RESFD)
|
if (iocb->aio_flags & IOCB_FLAG_RESFD)
|
||||||
req->ki_flags |= IOCB_EVENTFD;
|
req->ki_flags |= IOCB_EVENTFD;
|
||||||
req->ki_hint = ki_hint_validate(file_write_hint(req->ki_filp));
|
|
||||||
if (iocb->aio_flags & IOCB_FLAG_IOPRIO) {
|
if (iocb->aio_flags & IOCB_FLAG_IOPRIO) {
|
||||||
/*
|
/*
|
||||||
* If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then
|
* If the IOCB_FLAG_IOPRIO flag of aio_flags is set, then
|
||||||
|
|
|
@ -138,7 +138,6 @@ static int cachefiles_read(struct netfs_cache_resources *cres,
|
||||||
ki->iocb.ki_filp = file;
|
ki->iocb.ki_filp = file;
|
||||||
ki->iocb.ki_pos = start_pos + skipped;
|
ki->iocb.ki_pos = start_pos + skipped;
|
||||||
ki->iocb.ki_flags = IOCB_DIRECT;
|
ki->iocb.ki_flags = IOCB_DIRECT;
|
||||||
ki->iocb.ki_hint = ki_hint_validate(file_write_hint(file));
|
|
||||||
ki->iocb.ki_ioprio = get_current_ioprio();
|
ki->iocb.ki_ioprio = get_current_ioprio();
|
||||||
ki->skipped = skipped;
|
ki->skipped = skipped;
|
||||||
ki->object = object;
|
ki->object = object;
|
||||||
|
@ -313,7 +312,6 @@ static int cachefiles_write(struct netfs_cache_resources *cres,
|
||||||
ki->iocb.ki_filp = file;
|
ki->iocb.ki_filp = file;
|
||||||
ki->iocb.ki_pos = start_pos;
|
ki->iocb.ki_pos = start_pos;
|
||||||
ki->iocb.ki_flags = IOCB_DIRECT | IOCB_WRITE;
|
ki->iocb.ki_flags = IOCB_DIRECT | IOCB_WRITE;
|
||||||
ki->iocb.ki_hint = ki_hint_validate(file_write_hint(file));
|
|
||||||
ki->iocb.ki_ioprio = get_current_ioprio();
|
ki->iocb.ki_ioprio = get_current_ioprio();
|
||||||
ki->object = object;
|
ki->object = object;
|
||||||
ki->inval_counter = cres->inval_counter;
|
ki->inval_counter = cres->inval_counter;
|
||||||
|
|
|
@ -4479,10 +4479,8 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
|
||||||
struct f2fs_inode_info *fi = F2FS_I(inode);
|
struct f2fs_inode_info *fi = F2FS_I(inode);
|
||||||
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
|
struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
|
||||||
const bool do_opu = f2fs_lfs_mode(sbi);
|
const bool do_opu = f2fs_lfs_mode(sbi);
|
||||||
const int whint_mode = F2FS_OPTION(sbi).whint_mode;
|
|
||||||
const loff_t pos = iocb->ki_pos;
|
const loff_t pos = iocb->ki_pos;
|
||||||
const ssize_t count = iov_iter_count(from);
|
const ssize_t count = iov_iter_count(from);
|
||||||
const enum rw_hint hint = iocb->ki_hint;
|
|
||||||
unsigned int dio_flags;
|
unsigned int dio_flags;
|
||||||
struct iomap_dio *dio;
|
struct iomap_dio *dio;
|
||||||
ssize_t ret;
|
ssize_t ret;
|
||||||
|
@ -4515,8 +4513,6 @@ static ssize_t f2fs_dio_write_iter(struct kiocb *iocb, struct iov_iter *from,
|
||||||
if (do_opu)
|
if (do_opu)
|
||||||
down_read(&fi->i_gc_rwsem[READ]);
|
down_read(&fi->i_gc_rwsem[READ]);
|
||||||
}
|
}
|
||||||
if (whint_mode == WHINT_MODE_OFF)
|
|
||||||
iocb->ki_hint = WRITE_LIFE_NOT_SET;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We have to use __iomap_dio_rw() and iomap_dio_complete() instead of
|
* 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,
|
||||||
ret = iomap_dio_complete(dio);
|
ret = iomap_dio_complete(dio);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (whint_mode == WHINT_MODE_OFF)
|
|
||||||
iocb->ki_hint = hint;
|
|
||||||
if (do_opu)
|
if (do_opu)
|
||||||
up_read(&fi->i_gc_rwsem[READ]);
|
up_read(&fi->i_gc_rwsem[READ]);
|
||||||
up_read(&fi->i_gc_rwsem[WRITE]);
|
up_read(&fi->i_gc_rwsem[WRITE]);
|
||||||
|
|
|
@ -3747,7 +3747,6 @@ static int io_write_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
|
||||||
{
|
{
|
||||||
if (unlikely(!(req->file->f_mode & FMODE_WRITE)))
|
if (unlikely(!(req->file->f_mode & FMODE_WRITE)))
|
||||||
return -EBADF;
|
return -EBADF;
|
||||||
req->rw.kiocb.ki_hint = ki_hint_validate(file_write_hint(req->file));
|
|
||||||
return io_prep_rw(req, sqe);
|
return io_prep_rw(req, sqe);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -327,7 +327,6 @@ struct kiocb {
|
||||||
void (*ki_complete)(struct kiocb *iocb, long ret);
|
void (*ki_complete)(struct kiocb *iocb, long ret);
|
||||||
void *private;
|
void *private;
|
||||||
int ki_flags;
|
int ki_flags;
|
||||||
u16 ki_hint;
|
|
||||||
u16 ki_ioprio; /* See linux/ioprio.h */
|
u16 ki_ioprio; /* See linux/ioprio.h */
|
||||||
struct wait_page_queue *ki_waitq; /* for async buffered IO */
|
struct wait_page_queue *ki_waitq; /* for async buffered IO */
|
||||||
randomized_struct_fields_end
|
randomized_struct_fields_end
|
||||||
|
@ -2225,21 +2224,11 @@ static inline enum rw_hint file_write_hint(struct file *file)
|
||||||
|
|
||||||
static inline int iocb_flags(struct file *file);
|
static inline int iocb_flags(struct file *file);
|
||||||
|
|
||||||
static inline u16 ki_hint_validate(enum rw_hint hint)
|
|
||||||
{
|
|
||||||
typeof(((struct kiocb *)0)->ki_hint) max_hint = -1;
|
|
||||||
|
|
||||||
if (hint <= max_hint)
|
|
||||||
return hint;
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp)
|
static inline void init_sync_kiocb(struct kiocb *kiocb, struct file *filp)
|
||||||
{
|
{
|
||||||
*kiocb = (struct kiocb) {
|
*kiocb = (struct kiocb) {
|
||||||
.ki_filp = filp,
|
.ki_filp = filp,
|
||||||
.ki_flags = iocb_flags(filp),
|
.ki_flags = iocb_flags(filp),
|
||||||
.ki_hint = ki_hint_validate(file_write_hint(filp)),
|
|
||||||
.ki_ioprio = get_current_ioprio(),
|
.ki_ioprio = get_current_ioprio(),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -2250,7 +2239,6 @@ static inline void kiocb_clone(struct kiocb *kiocb, struct kiocb *kiocb_src,
|
||||||
*kiocb = (struct kiocb) {
|
*kiocb = (struct kiocb) {
|
||||||
.ki_filp = filp,
|
.ki_filp = filp,
|
||||||
.ki_flags = kiocb_src->ki_flags,
|
.ki_flags = kiocb_src->ki_flags,
|
||||||
.ki_hint = kiocb_src->ki_hint,
|
|
||||||
.ki_ioprio = kiocb_src->ki_ioprio,
|
.ki_ioprio = kiocb_src->ki_ioprio,
|
||||||
.ki_pos = kiocb_src->ki_pos,
|
.ki_pos = kiocb_src->ki_pos,
|
||||||
};
|
};
|
||||||
|
|
|
@ -956,12 +956,11 @@ TRACE_EVENT(f2fs_direct_IO_enter,
|
||||||
__entry->rw = rw;
|
__entry->rw = rw;
|
||||||
),
|
),
|
||||||
|
|
||||||
TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_hint = %x ki_ioprio = %x rw = %d",
|
TP_printk("dev = (%d,%d), ino = %lu pos = %lld len = %lu ki_flags = %x ki_ioprio = %x rw = %d",
|
||||||
show_dev_ino(__entry),
|
show_dev_ino(__entry),
|
||||||
__entry->iocb->ki_pos,
|
__entry->iocb->ki_pos,
|
||||||
__entry->len,
|
__entry->len,
|
||||||
__entry->iocb->ki_flags,
|
__entry->iocb->ki_flags,
|
||||||
__entry->iocb->ki_hint,
|
|
||||||
__entry->iocb->ki_ioprio,
|
__entry->iocb->ki_ioprio,
|
||||||
__entry->rw)
|
__entry->rw)
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Reference in a new issue