Skip site navigation (1)Skip section navigation (2)
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>