Re: [PATCH RFC v3 for-6.8/block 12/17] nilfs2: use bdev api in nilfs_attach_log_writer()

2023-12-21 Thread Ryusuke Konishi
f (!nilfs->ns_writer) > return -ENOMEM; > > - inode_attach_wb(nilfs->ns_bdev->bd_inode, NULL); > + bdev_attach_wb(nilfs->ns_bdev); > > err = nilfs_segctor_start_thread(nilfs->ns_writer); > if (unlikely(err)) > -- > 2.39.2 > Acked-by: Ryusuke Konishi Thanks, Ryusuke Konishi

Re: [PATCH 26/27] block: uncouple REQ_OP_SECURE_ERASE from REQ_OP_DISCARD

2022-04-07 Thread Ryusuke Konishi
pages(void) > > extern void blk_io_schedule(void); > > -#define BLKDEV_DISCARD_SECURE (1 << 0)/* issue a secure erase */ > - > -extern int blkdev_issue_discard(struct block_device *bdev, sector_t sector, > - sector_t nr_sects, gfp_t gfp_mask, unsigned long flags); > -extern int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, > - sector_t nr_sects, gfp_t gfp_mask, int flags, > - struct bio **biop); > +int blkdev_issue_discard(struct block_device *bdev, sector_t sector, > + sector_t nr_sects, gfp_t gfp_mask); > +int __blkdev_issue_discard(struct block_device *bdev, sector_t sector, > + sector_t nr_sects, gfp_t gfp_mask, struct bio **biop); > +int blkdev_issue_secure_erase(struct block_device *bdev, sector_t sector, > + sector_t nr_sects, gfp_t gfp); > > #define BLKDEV_ZERO_NOUNMAP(1 << 0) /* do not free blocks */ > #define BLKDEV_ZERO_NOFALLBACK (1 << 1) /* don't write explicit zeroes */ > @@ -1112,7 +,7 @@ static inline int sb_issue_discard(struct super_block > *sb, sector_t block, > SECTOR_SHIFT), > nr_blocks << (sb->s_blocksize_bits - > SECTOR_SHIFT), > - gfp_mask, flags); > + gfp_mask); > } > static inline int sb_issue_zeroout(struct super_block *sb, sector_t block, > sector_t nr_blocks, gfp_t gfp_mask) > @@ -1262,6 +1261,12 @@ static inline unsigned int > bdev_discard_granularity(struct block_device *bdev) > return bdev_get_queue(bdev)->limits.discard_granularity; > } > > +static inline unsigned int > +bdev_max_secure_erase_sectors(struct block_device *bdev) > +{ > + return bdev_get_queue(bdev)->limits.max_secure_erase_sectors; > +} > + > static inline unsigned int bdev_write_zeroes_sectors(struct block_device > *bdev) > { > struct request_queue *q = bdev_get_queue(bdev); > diff --git a/mm/swapfile.c b/mm/swapfile.c > index 5d9cedf9e7b84..a2b31fea0c42e 100644 > --- a/mm/swapfile.c > +++ b/mm/swapfile.c > @@ -179,7 +179,7 @@ static int discard_swap(struct swap_info_struct *si) > nr_blocks = ((sector_t)se->nr_pages - 1) << (PAGE_SHIFT - 9); > if (nr_blocks) { > err = blkdev_issue_discard(si->bdev, start_block, > - nr_blocks, GFP_KERNEL, 0); > + nr_blocks, GFP_KERNEL); > if (err) > return err; > cond_resched(); > @@ -190,7 +190,7 @@ static int discard_swap(struct swap_info_struct *si) > nr_blocks = (sector_t)se->nr_pages << (PAGE_SHIFT - 9); > > err = blkdev_issue_discard(si->bdev, start_block, > - nr_blocks, GFP_KERNEL, 0); > + nr_blocks, GFP_KERNEL); > if (err) > break; > > @@ -254,7 +254,7 @@ static void discard_swap_cluster(struct swap_info_struct > *si, > start_block <<= PAGE_SHIFT - 9; > nr_blocks <<= PAGE_SHIFT - 9; > if (blkdev_issue_discard(si->bdev, start_block, > - nr_blocks, GFP_NOIO, 0)) > + nr_blocks, GFP_NOIO)) > break; > > se = next_se(se); > -- > 2.30.2 > For nilfs2 pieces, Acked-by: Ryusuke Konishi Thanks, Ryusuke Konishi

Re: [PATCH 24/27] block: add a bdev_discard_granularity helper

2022-04-06 Thread Ryusuke Konishi
ge.minlen = max_t(u64, > bdev_discard_granularity(sb->s_bdev), > range.minlen); > ret = ocfs2_trim_fs(sb, ); > if (ret < 0) > diff --git a/fs/xfs/xfs_discard.c b/fs/xfs/xfs_discard.c > index a4e6609d616b7..e2ada115c23f9 100644 > --- a/fs/xfs/xfs_discard.c > +++ b/fs/xfs/xfs_discard.c > @@ -152,8 +152,8 @@ xfs_ioc_trim( > struct xfs_mount*mp, > struct fstrim_range __user *urange) > { > - struct request_queue*q = > bdev_get_queue(mp->m_ddev_targp->bt_bdev); > - unsigned intgranularity = q->limits.discard_granularity; > + unsigned intgranularity = > + bdev_discard_granularity(mp->m_ddev_targp->bt_bdev); > struct fstrim_range range; > xfs_daddr_t start, end, minlen; > xfs_agnumber_t start_agno, end_agno, agno; > diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h > index ce16247d3afab..7b9c0cf95d2d5 100644 > --- a/include/linux/blkdev.h > +++ b/include/linux/blkdev.h > @@ -1259,6 +1259,11 @@ static inline unsigned int > bdev_max_discard_sectors(struct block_device *bdev) > return bdev_get_queue(bdev)->limits.max_discard_sectors; > } > > +static inline unsigned int bdev_discard_granularity(struct block_device > *bdev) > +{ > + return bdev_get_queue(bdev)->limits.discard_granularity; > +} > + > static inline unsigned int bdev_write_zeroes_sectors(struct block_device > *bdev) > { > struct request_queue *q = bdev_get_queue(bdev); > -- > 2.30.2 > I got the following checkpatch warning: WARNING: 'retreive' may be misspelled - perhaps 'retrieve'? #101: block_device based helper to retreive the discard granularity. total: 0 errors, 1 warnings, 294 lines checked The changes themselves look good. Acked-by: Ryusuke Konishi Thanks, Ryusuke Konishi

Re: [PATCH 23/27] block: add a bdev_max_discard_sectors helper

2022-04-06 Thread Ryusuke Konishi
eading things, could you please document that > bdev_max_discard_sectors() != 0 implies that discard is supported? I got the same impression. Checking the discard support with bdev_max_discard_sectors() != 0 seems a bit unclear than before. Thanks, Ryusuke Konishi

Re: [dm-devel] [PATCH 01/19] fs: remove mpage_alloc

2022-03-23 Thread Ryusuke Konishi
On Wed, Mar 23, 2022 at 3:42 PM Christoph Hellwig wrote: > > On Wed, Mar 23, 2022 at 06:38:22AM +0900, Ryusuke Konishi wrote: > > This looks because the mask of GFP_KERNEL is removed along with > > the removal of mpage_alloc(). > > > > > The def

Re: [dm-devel] [PATCH 01/19] fs: remove mpage_alloc

2022-03-22 Thread Ryusuke Konishi
t;is_readahead) { op |= REQ_RAHEAD; gfp = readahead_gfp_mask(page->mapping); } else { gfp = mapping_gfp_constraint(page->mapping, GFP_KERNEL); } The default value of the gfp flag is set to GFP_HIGHUSER_MOVABLE by inode_init_alway

Re: [PATCH 02/19] nilfs2: remove nilfs_alloc_seg_bio

2022-01-27 Thread Ryusuke Konishi
/nilfs2/segbuf.c | 31 --- > 1 file changed, 4 insertions(+), 27 deletions(-) Acked-by: Ryusuke Konishi Thanks! Ryusuke Konishi