Revert "io_uring/rw: fix missing NOWAIT check for O_DIRECT start write"
This reverts commit bb5321e6e0
.
This commit is contained in:
parent
c09929ddba
commit
4ae2ca820d
1 changed files with 2 additions and 21 deletions
|
@ -3738,25 +3738,6 @@ static int io_write_prep(struct io_kiocb *req, const struct io_uring_sqe *sqe)
|
|||
return io_prep_rw(req, sqe, WRITE);
|
||||
}
|
||||
|
||||
static bool io_kiocb_start_write(struct io_kiocb *req, struct kiocb *kiocb)
|
||||
{
|
||||
struct inode *inode;
|
||||
bool ret;
|
||||
|
||||
if (!(req->flags & REQ_F_ISREG))
|
||||
return true;
|
||||
if (!(kiocb->ki_flags & IOCB_NOWAIT)) {
|
||||
kiocb_start_write(kiocb);
|
||||
return true;
|
||||
}
|
||||
|
||||
inode = file_inode(kiocb->ki_filp);
|
||||
ret = sb_start_write_trylock(inode->i_sb);
|
||||
if (ret)
|
||||
__sb_writers_release(inode->i_sb, SB_FREEZE_WRITE);
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int io_write(struct io_kiocb *req, unsigned int issue_flags)
|
||||
{
|
||||
struct iovec inline_vecs[UIO_FASTIOV], *iovec = inline_vecs;
|
||||
|
@ -3803,8 +3784,8 @@ static int io_write(struct io_kiocb *req, unsigned int issue_flags)
|
|||
if (unlikely(ret))
|
||||
goto out_free;
|
||||
|
||||
if (unlikely(!io_kiocb_start_write(req, kiocb)))
|
||||
goto copy_iov;
|
||||
if (req->flags & REQ_F_ISREG)
|
||||
kiocb_start_write(kiocb);
|
||||
kiocb->ki_flags |= IOCB_WRITE;
|
||||
|
||||
if (req->file->f_op->write_iter)
|
||||
|
|
Loading…
Reference in a new issue