Message ID | 20180305212743.16664-3-hch@lst.de |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
Series | [01/36] aio: don't print the page size at boot time | expand |
On Mon, Mar 05, 2018 at 01:27:09PM -0800, Christoph Hellwig wrote: > These days we don't treat sync iocbs special in the aio completion code as > they never use it. Remove the old comment, and move the BUG_ON for a sync > iocb to the top of the function. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > Acked-by: Jeff Moyer <jmoyer@redhat.com> Looks ok, Reviewed-by: Darrick J. Wong <darrick.wong@oracle.com> --D > --- > fs/aio.c | 11 ++--------- > 1 file changed, 2 insertions(+), 9 deletions(-) > > diff --git a/fs/aio.c b/fs/aio.c > index 03d59593912d..41fc8ce6bc7f 100644 > --- a/fs/aio.c > +++ b/fs/aio.c > @@ -1088,6 +1088,8 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) > unsigned tail, pos, head; > unsigned long flags; > > + BUG_ON(is_sync_kiocb(kiocb)); > + > if (kiocb->ki_flags & IOCB_WRITE) { > struct file *file = kiocb->ki_filp; > > @@ -1100,15 +1102,6 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) > file_end_write(file); > } > > - /* > - * Special case handling for sync iocbs: > - * - events go directly into the iocb for fast handling > - * - the sync task with the iocb in its stack holds the single iocb > - * ref, no other paths have a way to get another ref > - * - the sync task helpfully left a reference to itself in the iocb > - */ > - BUG_ON(is_sync_kiocb(kiocb)); > - > if (iocb->ki_list.next) { > unsigned long flags; > > -- > 2.14.2 >
diff --git a/fs/aio.c b/fs/aio.c index 03d59593912d..41fc8ce6bc7f 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1088,6 +1088,8 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) unsigned tail, pos, head; unsigned long flags; + BUG_ON(is_sync_kiocb(kiocb)); + if (kiocb->ki_flags & IOCB_WRITE) { struct file *file = kiocb->ki_filp; @@ -1100,15 +1102,6 @@ static void aio_complete(struct kiocb *kiocb, long res, long res2) file_end_write(file); } - /* - * Special case handling for sync iocbs: - * - events go directly into the iocb for fast handling - * - the sync task with the iocb in its stack holds the single iocb - * ref, no other paths have a way to get another ref - * - the sync task helpfully left a reference to itself in the iocb - */ - BUG_ON(is_sync_kiocb(kiocb)); - if (iocb->ki_list.next) { unsigned long flags;