View | Details | Raw Unified | Return to bug 205668 | Differences between
and this patch

Collapse All | Expand All

(-)b/sys/fs/ext2fs/ext2_vfsops.c (-2 / +4 lines)
Lines 196-202 ext2_mount(struct mount *mp) Link Here
196
				return (error);
196
				return (error);
197
197
198
			if ((fs->e2fs->e2fs_state & E2FS_ISCLEAN) == 0 ||
198
			if ((fs->e2fs->e2fs_state & E2FS_ISCLEAN) == 0 ||
199
			    (fs->e2fs->e2fs_state & E2FS_ERRORS)) {
199
			    (fs->e2fs->e2fs_state & E2FS_ERRORS) ||
200
			    (fs->e2fs->e2fs_features_incompat & EXT2F_INCOMPAT_RECOVER)) {
200
				if (mp->mnt_flag & MNT_FORCE) {
201
				if (mp->mnt_flag & MNT_FORCE) {
201
					printf(
202
					printf(
202
"WARNING: %s was not properly dismounted\n", fs->e2fs_fsmnt);
203
"WARNING: %s was not properly dismounted\n", fs->e2fs_fsmnt);
Lines 571-577 ext2_mountfs(struct vnode *devvp, struct mount *mp) Link Here
571
		goto out;
572
		goto out;
572
	}
573
	}
573
	if ((es->e2fs_state & E2FS_ISCLEAN) == 0 ||
574
	if ((es->e2fs_state & E2FS_ISCLEAN) == 0 ||
574
	    (es->e2fs_state & E2FS_ERRORS)) {
575
	    (es->e2fs_state & E2FS_ERRORS) ||
576
	    (es->e2fs_features_incompat & EXT2F_INCOMPAT_RECOVER)) {
575
		if (ronly || (mp->mnt_flag & MNT_FORCE)) {
577
		if (ronly || (mp->mnt_flag & MNT_FORCE)) {
576
			printf(
578
			printf(
577
"WARNING: Filesystem was not properly dismounted\n");
579
"WARNING: Filesystem was not properly dismounted\n");
(-)b/sys/fs/ext2fs/ext2fs.h (-1 / +4 lines)
Lines 187-192 struct csum { Link Here
187
187
188
#define	EXT2F_INCOMPAT_COMP		0x0001
188
#define	EXT2F_INCOMPAT_COMP		0x0001
189
#define	EXT2F_INCOMPAT_FTYPE		0x0002
189
#define	EXT2F_INCOMPAT_FTYPE		0x0002
190
#define	EXT2F_INCOMPAT_RECOVER		0x0004
190
#define	EXT2F_INCOMPAT_META_BG		0x0010
191
#define	EXT2F_INCOMPAT_META_BG		0x0010
191
#define	EXT2F_INCOMPAT_EXTENTS		0x0040
192
#define	EXT2F_INCOMPAT_EXTENTS		0x0040
192
#define	EXT2F_INCOMPAT_64BIT		0x0080
193
#define	EXT2F_INCOMPAT_64BIT		0x0080
Lines 201-206 struct csum { Link Here
201
 * - EXT2F_ROCOMPAT_LARGEFILE
202
 * - EXT2F_ROCOMPAT_LARGEFILE
202
 * - EXT2F_ROCOMPAT_EXTRA_ISIZE
203
 * - EXT2F_ROCOMPAT_EXTRA_ISIZE
203
 * - EXT2F_INCOMPAT_FTYPE
204
 * - EXT2F_INCOMPAT_FTYPE
205
 * - EXT2F_INCOMPAT_RECOVER
204
 *
206
 *
205
 * We partially support (read-only) the following EXT4 features:
207
 * We partially support (read-only) the following EXT4 features:
206
 * - EXT2F_ROCOMPAT_HUGE_FILE
208
 * - EXT2F_ROCOMPAT_HUGE_FILE
Lines 214-220 struct csum { Link Here
214
#define	EXT2F_ROCOMPAT_SUPP		(EXT2F_ROCOMPAT_SPARSESUPER | \
216
#define	EXT2F_ROCOMPAT_SUPP		(EXT2F_ROCOMPAT_SPARSESUPER | \
215
					 EXT2F_ROCOMPAT_LARGEFILE | \
217
					 EXT2F_ROCOMPAT_LARGEFILE | \
216
					 EXT2F_ROCOMPAT_EXTRA_ISIZE)
218
					 EXT2F_ROCOMPAT_EXTRA_ISIZE)
217
#define	EXT2F_INCOMPAT_SUPP		EXT2F_INCOMPAT_FTYPE
219
#define	EXT2F_INCOMPAT_SUPP		(EXT2F_INCOMPAT_FTYPE | \
220
					 EXT2F_INCOMPAT_RECOVER)
218
#define	EXT4F_RO_INCOMPAT_SUPP		(EXT2F_INCOMPAT_EXTENTS | \
221
#define	EXT4F_RO_INCOMPAT_SUPP		(EXT2F_INCOMPAT_EXTENTS | \
219
					 EXT2F_INCOMPAT_FLEX_BG | \
222
					 EXT2F_INCOMPAT_FLEX_BG | \
220
					 EXT2F_INCOMPAT_META_BG )
223
					 EXT2F_INCOMPAT_META_BG )

Return to bug 205668