From owner-cvs-src-old@FreeBSD.ORG Thu Feb 26 19:00:13 2009 Return-Path: Delivered-To: cvs-src-old@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id D413A10656D4 for ; Thu, 26 Feb 2009 19:00:12 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id BEE0E8FC18 for ; Thu, 26 Feb 2009 19:00:12 +0000 (UTC) (envelope-from avg@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.3/8.14.3) with ESMTP id n1QJ0Cjn020399 for ; Thu, 26 Feb 2009 19:00:12 GMT (envelope-from avg@repoman.freebsd.org) Received: (from svn2cvs@localhost) by repoman.freebsd.org (8.14.3/8.14.3/Submit) id n1QJ0Cug020398 for cvs-src-old@freebsd.org; Thu, 26 Feb 2009 19:00:12 GMT (envelope-from avg@repoman.freebsd.org) Message-Id: <200902261900.n1QJ0Cug020398@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: svn2cvs set sender to avg@repoman.freebsd.org using -f From: Andriy Gapon Date: Thu, 26 Feb 2009 18:58:41 +0000 (UTC) To: cvs-src-old@freebsd.org X-FreeBSD-CVS-Branch: HEAD Subject: cvs commit: src/sys/fs/udf udf.h udf_vfsops.c udf_vnops.c X-BeenThere: cvs-src-old@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: **OBSOLETE** CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Feb 2009 19:00:15 -0000 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