Message ID | 20210128071133.60335-29-chaitanya.kulkarni@wdc.com (mailing list archive) |
---|---|
State | Deferred, archived |
Headers | show |
Series | block: introduce bio_new() | expand |
On 2021/01/28 16:15, Chaitanya Kulkarni wrote: > Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> > --- > fs/zonefs/super.c | 6 ++---- > 1 file changed, 2 insertions(+), 4 deletions(-) > > diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c > index ab68e27bb322..620d67965a22 100644 > --- a/fs/zonefs/super.c > +++ b/fs/zonefs/super.c > @@ -661,6 +661,7 @@ static const struct iomap_dio_ops zonefs_write_dio_ops = { > > static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from) > { > + unsigned int op = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE; I do not see the point of adding this variable since it is used only for the bio_new() call. Pass the op value directly. > struct inode *inode = file_inode(iocb->ki_filp); > struct zonefs_inode_info *zi = ZONEFS_I(inode); > struct block_device *bdev = inode->i_sb->s_bdev; > @@ -678,15 +679,12 @@ static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from) > if (!nr_pages) > return 0; > > - bio = bio_alloc(GFP_NOFS, nr_pages); > + bio = bio_new(bdev, zi->i_zsector, op, 0, GFP_NOFS, nr_pages); > if (!bio) > return -ENOMEM; > > - bio_set_dev(bio, bdev); > - bio->bi_iter.bi_sector = zi->i_zsector; > bio->bi_write_hint = iocb->ki_hint; > bio->bi_ioprio = iocb->ki_ioprio; > - bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE; > if (iocb->ki_flags & IOCB_DSYNC) > bio->bi_opf |= REQ_FUA; > >
diff --git a/fs/zonefs/super.c b/fs/zonefs/super.c index ab68e27bb322..620d67965a22 100644 --- a/fs/zonefs/super.c +++ b/fs/zonefs/super.c @@ -661,6 +661,7 @@ static const struct iomap_dio_ops zonefs_write_dio_ops = { static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from) { + unsigned int op = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE; struct inode *inode = file_inode(iocb->ki_filp); struct zonefs_inode_info *zi = ZONEFS_I(inode); struct block_device *bdev = inode->i_sb->s_bdev; @@ -678,15 +679,12 @@ static ssize_t zonefs_file_dio_append(struct kiocb *iocb, struct iov_iter *from) if (!nr_pages) return 0; - bio = bio_alloc(GFP_NOFS, nr_pages); + bio = bio_new(bdev, zi->i_zsector, op, 0, GFP_NOFS, nr_pages); if (!bio) return -ENOMEM; - bio_set_dev(bio, bdev); - bio->bi_iter.bi_sector = zi->i_zsector; bio->bi_write_hint = iocb->ki_hint; bio->bi_ioprio = iocb->ki_ioprio; - bio->bi_opf = REQ_OP_ZONE_APPEND | REQ_SYNC | REQ_IDLE; if (iocb->ki_flags & IOCB_DSYNC) bio->bi_opf |= REQ_FUA;
Signed-off-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> --- fs/zonefs/super.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)