Source-Changes-D archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/sys
On Dec 27, 2012, at 11:46 PM, Taylor R Campbell
<riastradh%netbsd.org@localhost> wrote:
> From: hannken%NetBSD.org@localhost
> Date: Thu, 20 Dec 2012 08:03:46 +0000
>
> --- sys/fs/msdosfs/msdosfs_vnops.c 29 Apr 2012 22:53:59 -0000 1.83
> +++ sys/fs/msdosfs/msdosfs_vnops.c 20 Dec 2012 08:03:42 -0000 1.84
> @@ -527,7 +527,6 @@ msdosfs_read(void *v)
> NOCRED, 0, &bp);
> n = MIN(n, pmp->pm_bpcluster - bp->b_resid);
> if (error) {
> - brelse(bp, 0);
>
> Looks like you need to move the initialization of n to after the error
> branch.
Fixed, thanks.
> --- sys/ufs/ext2fs/ext2fs_vfsops.c 21 Nov 2012 23:11:23 -0000
> 1.167
> +++ sys/ufs/ext2fs/ext2fs_vfsops.c 20 Dec 2012 08:03:44 -0000
> 1.168
> @@ -772,8 +770,8 @@ ext2fs_mountfs(struct vnode *devvp, stru
> return (0);
>
> out:
> - KASSERT(bp != NULL);
> - brelse(bp, 0);
> + if (bp != NULL)
> + brelse(bp, 0);
>
>
> Are bread &c. supposed to guarantee that bp is null on error, or are
> they supposed to leave it in an undefined state? Either way, it seems
> to me that the intent ought to be documented in buffercache(9).
Both bread() and breadn() will either return with `error == 0, *bpp != NULL'
or `error != 0, *bpp == NULL'.
--
J. Hannken-Illjes - hannken%eis.cs.tu-bs.de@localhost - TU Braunschweig
(Germany)
Home |
Main Index |
Thread Index |
Old Index