svn commit: r281120 - head/sys/fs/msdosfs
Konstantin Belousov
kib at FreeBSD.org
Sun Apr 5 21:08:05 UTC 2015
Author: kib
Date: Sun Apr 5 21:08:04 2015
New Revision: 281120
URL: https://svnweb.freebsd.org/changeset/base/281120
Log:
Assert that an msdosfs mount is not read-only when FAT modifications
are requested.
PR: 199152
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/sys/fs/msdosfs/msdosfs_fat.c
Modified: head/sys/fs/msdosfs/msdosfs_fat.c
==============================================================================
--- head/sys/fs/msdosfs/msdosfs_fat.c Sun Apr 5 20:56:51 2015 (r281119)
+++ head/sys/fs/msdosfs/msdosfs_fat.c Sun Apr 5 21:08:04 2015 (r281120)
@@ -380,6 +380,8 @@ usemap_alloc(struct msdosfsmount *pmp, u
MSDOSFS_ASSERT_MP_LOCKED(pmp);
+ KASSERT((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0,
+ ("usemap_alloc on ro msdosfs mount"));
KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] & (1 << (cn % N_INUSEBITS)))
== 0, ("Allocating used sector %ld %ld %x", cn, cn % N_INUSEBITS,
(unsigned)pmp->pm_inusemap[cn / N_INUSEBITS]));
@@ -394,6 +396,8 @@ usemap_free(struct msdosfsmount *pmp, u_
{
MSDOSFS_ASSERT_MP_LOCKED(pmp);
+ KASSERT((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0,
+ ("usemap_free on ro msdosfs mount"));
pmp->pm_freeclustercount++;
pmp->pm_flags |= MSDOSFS_FSIMOD;
KASSERT((pmp->pm_inusemap[cn / N_INUSEBITS] & (1 << (cn % N_INUSEBITS)))
@@ -675,6 +679,8 @@ chainalloc(struct msdosfsmount *pmp, u_l
u_long cl, n;
MSDOSFS_ASSERT_MP_LOCKED(pmp);
+ KASSERT((pmp->pm_flags & MSDOSFSMNT_RONLY) == 0,
+ ("chainalloc on ro msdosfs mount"));
for (cl = start, n = count; n-- > 0;)
usemap_alloc(pmp, cl++);
More information about the svn-src-all
mailing list