Re: Re: [PATCH] ext4: release discard bio after sending discard commands

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue 01-08-17 23:31:38, Daeho Jeong wrote:
> 
> > > We've changed the discard command handling into parallel manner.
> > > But, in this change, I forgot decreasing the usage count of the bio
> > > which was used to send discard request. I'm sorry about that.
> > > 
> > > Signed-off-by: Daeho Jeong <daeho.jeong@xxxxxxxxxxx>
> > > Fixes: a015434480dc ("ext4: send parallel discards on commit
> > > completions")
>  
> > Why do you think this is needed? submit_bio_wait() consumes the reference
> > that you've got from __blkdev_issue_discard()...
> >  
> >                                                                Honza
> 
> Hi Jan,
> 
> I thought like you, but submit_bio_wait() doesn't consume the reference
> of the bio and the bio cannot be released after the I/O has been completed.
> The caller of submit_bio_wait() should invoke bio_put() in person.
> You can see what we have to do after calling submit_bio_wait() in
> fs/crypto/bio.c.
> 
> Actually, in our device, I can see that the slab memory grows gradually
> because of the unreleased discard bios.

Ah, good point. I had a deeper look now and indeed submit_bio_wait() uses
it's own end_io function which does not drop the bio reference. So I
retract my objection and feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

								Honza
-- 
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR



[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux