Re: [RFC] nilfs2: double bio_put() in nilfs_end_bio_write()

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

 



Hi Dan,

On Jul 19, 2013, at 1:26 PM, Dan Carpenter wrote:

> I don't know if this is correct or not, but if feels like we shouldn't
> be calling bio_put() twice in nilfs_end_bio_write().  Also the comment
> is out of date.  If this is correct then I can resend with a proper
> Signed-off-by line and everything.
> 

I think that you have caught the important issue.

> diff --git a/fs/nilfs2/segbuf.c b/fs/nilfs2/segbuf.c
> index dc9a913..a660fd7 100644
> --- a/fs/nilfs2/segbuf.c
> +++ b/fs/nilfs2/segbuf.c
> @@ -346,7 +346,8 @@ static void nilfs_end_bio_write(struct bio *bio, int err)
> 	if (err == -EOPNOTSUPP) {
> 		set_bit(BIO_EOPNOTSUPP, &bio->bi_flags);
> 		bio_put(bio);
> -		/* to be detected by submit_seg_bio() */
> +		/* to be detected by nilfs_segbuf_submit_bio() */
> +		return;

I think that simple return from the function is not right way. As I understand the code,
then we increment error count in segbuf's sb_err field and signalize about completion of
operation. So, from my viewpoint, it needs to remove the bio_put() call for the case of
(err == -EOPNOTSUPP) instead of return from function.

Thanks,
Vyacheslav Dubeyko.

> 	}
> 
> 	if (!uptodate)
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux