[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
PR/52380 CVS commit: src/sys/ufs/ffs
The following reply was made to PR kern/52380; it has been noted by GNATS.
From: "Frank Kardel" <kardel%netbsd.org@localhost>
Subject: PR/52380 CVS commit: src/sys/ufs/ffs
Date: Sun, 14 Apr 2019 15:55:24 +0000
Module Name: src
Committed By: kardel
Date: Sun Apr 14 15:55:24 UTC 2019
PR/53990, PR/52380, PR/52102: UFS2 cylinder group inode allocation botch
Fix rare allocation botch in ffs_nodealloccg().
a) less than
are allocated in the cylinder group
b) cg->cg_irotor points to a uninterupted run of
allocated inodes in the inode bitmap up to the
end of dynamically initialized inodes
In this case the next inode after this run was returned
without initializing the respective inode block. As the
block is not initialized these inodes could trigger panics
on inode consistency due to old (uninitialized) disk data.
In very rare cases data loss could occur when
the uninitialized inode block is initialized via the
Further conditions to occur after the above:
c) no panic
d) no (forced) fsck
e) and more than cg->cg_initediblk - inodes_per_filesystem_block
Always insure allocation always in initialized inode range
extending the initialized inode range as needed.
Add KASSERTMSG() safeguards.
To generate a diff of this commit:
cvs rdiff -u -r1.163 -r1.164 src/sys/ufs/ffs/ffs_alloc.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Main Index |
Thread Index |