Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 16 May 2018 23:30:57 +0000
From:      bugzilla-noreply@freebsd.org
To:        fs@FreeBSD.org
Subject:   [Bug 213507] [msdosfs]: Prevent occasional directory corruption while extending it to another cluster
Message-ID:  <bug-213507-3630-JgT76yMNNe@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-213507-3630@https.bugs.freebsd.org/bugzilla/>
References:  <bug-213507-3630@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D213507

--- Comment #13 from commit-hook@freebsd.org ---
A commit references this bug:

Author: mckusick
Date: Wed May 16 23:30:04 UTC 2018
New revision: 333693
URL: https://svnweb.freebsd.org/changeset/base/333693

Log:
  Revert change made in base r171522
  (https://svnweb.freebsd.org/base?view=3Drevision&revision=3D304232)
  converting clrbuf() (which clears the entire buffer) to vfs_bio_clrbuf()
  (which clears only the new pages that have been added to the buffer).

  Failure to properly remove pages from the buffer cache can make
  pages that appear not to need clearing to actually have bad random
  data in them. See for example base r304232
  (https://svnweb.freebsd.org/base?view=3Drevision&revision=3D304232)
  which noted the need to set B_INVAL and B_NOCACHE as well as clear
  the B_CACHE flag before calling brelse() to release the buffer.

  Rather than trying to find all the incomplete brelse() calls, it
  is simpler, though more slightly expensive, to simply clear the
  entire buffer when it is newly allocated.

  PR: 213507
  Submitted by: Damjan Jovanovic
  Reviewed by:  kib

Changes:
  head/sys/fs/msdosfs/msdosfs_fat.c

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-213507-3630-JgT76yMNNe>