On 03/01/16(Sun) 23:16, Martin Pieuchot wrote:
> I don't understand why the check for reading ahead one block has been
> kept for clustering read when the Dynamic buffer cache got introduced.
> 
> Since bread_cluster() replaces cluster_read() I believe this can go
> away.

Any ok?

> Index: ufs/ffs/ffs_vnops.c
> ===================================================================
> RCS file: /cvs/src/sys/ufs/ffs/ffs_vnops.c,v
> retrieving revision 1.80
> diff -u -p -r1.80 ffs_vnops.c
> --- ufs/ffs/ffs_vnops.c       14 Mar 2015 03:38:52 -0000      1.80
> +++ ufs/ffs/ffs_vnops.c       3 Jan 2016 21:42:22 -0000
> @@ -242,14 +242,11 @@ ffs_read(void *v)
>  
>               if (lblktosize(fs, nextlbn) >= DIP(ip, size))
>                       error = bread(vp, lbn, size, &bp);
> -             else if (lbn - 1 == ip->i_ci.ci_lastr) {
> +             else
>                       error = bread_cluster(vp, lbn, size, &bp);
> -             } else
> -                     error = bread(vp, lbn, size, &bp);
>  
>               if (error)
>                       break;
> -             ip->i_ci.ci_lastr = lbn;
>  
>               /*
>                * We should only get non-zero b_resid when an I/O error
> 

Reply via email to