Date: Thu, 26 Feb 2009 18:58:41 +0000 (UTC) From: Andriy Gapon <avg@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/fs/udf udf.h udf_vfsops.c udf_vnops.c Message-ID: <200902261900.n1QJ0Cug020398@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
avg 2009-02-26 18:58:41 UTC
FreeBSD src repository
Modified files:
sys/fs/udf udf.h udf_vfsops.c udf_vnops.c
Log:
SVN rev 189082 on 2009-02-26 18:58:41Z by avg
udf_readatoffset: read through directory vnode, do not read > MAXBSIZE
Currently bread()-ing through device vnode with
(1) VMIO enabled,
(2) bo_bsize != DEV_BSIZE
(3) more than 1 block
results in data being incorrectly cached.
So instead a more common approach of using a vnode belonging to fs is now
employed.
Also, prevent attempt to bread more than MAXBSIZE bytes because of
adjustments made to account for offset that doesn't start on block
boundary.
Add expanded comments to explain the calculations.
Also drop unused inline function while here.
PR: kern/120967
PR: kern/129084
Reviewed by: scottl, kib
Approved by: jhb (mentor)
Revision Changes Path
1.16 +1 -16 src/sys/fs/udf/udf.h
1.61 +2 -2 src/sys/fs/udf/udf_vfsops.c
1.83 +20 -7 src/sys/fs/udf/udf_vnops.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902261900.n1QJ0Cug020398>
