On 05/13/2010 01:00 PM, Jiaying Zhang Wrote: > This patch issues discard request for freed blocks in ext4_free_blocks() > if ext4 is mounted with discard option and without journal. > > Author: Jiaying Zhang <jiayingz@xxxxxxxxxx> > Date: Wed May 12 21:11:46 2010 -0700 > > Issue discard request in ext4_free_blocks() when ext4 has no journal and > is mounted with discard option. > > Signed-off-by: Jiaying Zhang <jiayingz@xxxxxxxxxx> > > diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c > index a291cc3..d51b79a 100644 > --- a/fs/ext4/mballoc.c > +++ b/fs/ext4/mballoc.c > @@ -2513,6 +2513,22 @@ int ext4_mb_release(struct super_block *sb) > return 0; > } > > +static void ext4_issue_discard(struct super_block *sb, ext4_group_t block_group, > + ext4_grpblk_t block, int count) > +{ > + int ret; > + ext4_fsblk_t discard_block; > + > + discard_block = block + ext4_group_first_block_no(sb, block_group); > + trace_ext4_discard_blocks(sb, > + (unsigned long long) discard_block, count); > + ret = sb_issue_discard(sb, discard_block, count); > + if (ret == EOPNOTSUPP) { > + ext4_warning(sb, "discard not supported, disabling"); > + clear_opt(EXT4_SB(sb)->s_mount_opt, DISCARD); > + } > +} > + How about make it as an inline routine? Thanks. -- Coly Li SuSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html