From nobody@FreeBSD.org  Fri Jan  3 16:34:43 2014
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id ABD72D79
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  3 Jan 2014 16:34:43 +0000 (UTC)
Received: from oldred.freebsd.org (oldred.freebsd.org [IPv6:2001:1900:2254:206a::50:4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id 98CA91CC3
	for <freebsd-gnats-submit@FreeBSD.org>; Fri,  3 Jan 2014 16:34:43 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id s03GYh6j085992
	for <freebsd-gnats-submit@FreeBSD.org>; Fri, 3 Jan 2014 16:34:43 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id s03GYhmO085991;
	Fri, 3 Jan 2014 16:34:43 GMT
	(envelope-from nobody)
Message-Id: <201401031634.s03GYhmO085991@oldred.freebsd.org>
Date: Fri, 3 Jan 2014 16:34:43 GMT
From: Bob Sullivan <bobsullivan1960@gmail.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: ext2fs corrupt dir inode, FreeBSD 10 RC3
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         185448
>Category:       kern
>Synopsis:       [ext2fs] ext2fs corrupt dir inode, FreeBSD 10 RC3
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pfg
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 03 16:40:00 UTC 2014
>Closed-Date:    Tue Jan 14 22:51:24 UTC 2014
>Last-Modified:  Tue Jan 14 22:51:24 UTC 2014
>Originator:     Bob Sullivan
>Release:        FreeBSD 10 RC3 i386
>Organization:
N/A
>Environment:
FreeBSD panther.local 10.0-RC3 FreeBSD 10.0-RC3 #0 r259778: Tue Dec 24 04:35:46 UTC 2013     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
After I upgraded from FreeBSD 8 to 10 RC3 (dual boot Linux/FreeBSD), on Linux, I noticed this error in dmesg (which never appeared on FreeBSD 8):

syslog.1:Dec 29 14:49:56 pc kernel: [ 4969.426736] EXT3-fs (sda5): warning: dx_probe: Unrecognised inode hash code 44
syslog.1:Dec 29 14:49:56 pc kernel: [ 4969.426748] EXT3-fs (sda5): warning: dx_probe: Corrupt dir inode 4194305, running e2fsck is recommended.

However, I compared the directory against a backup and no data was lost, and Linux fsck didn't find any real problems (this bug seems benign).

bobsullivan1960 /-at-/ gmail /-/ com

>How-To-Repeat:
Isn't reproducible, unfortuantely.


>Fix:
N/A

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-fs 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Mon Jan 6 00:12:07 UTC 2014 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=185448 
Responsible-Changed-From-To: freebsd-fs->pfg 
Responsible-Changed-By: pfg 
Responsible-Changed-When: Sat Jan 11 01:00:12 UTC 2014 
Responsible-Changed-Why:  
I think it is some leftover from the (disabled) htree support. 
It shouldn't be of consequence so I will get a fix after 10-Release. 
Grab. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=185448 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/185448: commit references a PR
Date: Sat, 11 Jan 2014 15:19:11 +0000 (UTC)

 Author: pfg
 Date: Sat Jan 11 15:19:04 2014
 New Revision: 260545
 URL: http://svnweb.freebsd.org/changeset/base/260545
 
 Log:
   ext2fs: fix inode flag conversion.
   
   After r252890 we are naively attempting to pass through the
   inode flags.  This is technically incorrect as the ext2
   inode flags don't match the UFS/system values used in
   FreeBSD and a clean conversion is needed.
   
   Some filtering was left in place so the change didn't cause
   significant changes in FreeBSD but some of the garbage passed
   is likely to be the cause for warning messages in linux.
   
   Fix the issue by resetting the flags before conversion as was
   done previously. This also means we will not pass the EXT4_*
   inode flags into FreeBSD's inode.
   
   PR:		kern/185448
   MFC after:	3 days
 
 Modified:
   head/sys/fs/ext2fs/ext2_inode_cnv.c
 
 Modified: head/sys/fs/ext2fs/ext2_inode_cnv.c
 ==============================================================================
 --- head/sys/fs/ext2fs/ext2_inode_cnv.c	Sat Jan 11 15:01:30 2014	(r260544)
 +++ head/sys/fs/ext2fs/ext2_inode_cnv.c	Sat Jan 11 15:19:04 2014	(r260545)
 @@ -104,7 +104,7 @@ ext2_ei2i(struct ext2fs_dinode *ei, stru
  		ip->i_birthtime = ei->e2di_crtime;
  		ip->i_birthnsec = XTIME_TO_NSEC(ei->e2di_crtime_extra);
  	}
 -	ip->i_flags = ei->e2di_flags;
 +	ip->i_flags = 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_APPEND) ? SF_APPEND : 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE) ? SF_IMMUTABLE : 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_NODUMP) ? UF_NODUMP : 0;
 @@ -152,7 +152,7 @@ ext2_i2ei(struct inode *ip, struct ext2f
  		ei->e2di_crtime = ip->i_birthtime;
  		ei->e2di_crtime_extra = NSEC_TO_XTIME(ip->i_birthnsec);
  	}
 -	ei->e2di_flags = ip->i_flags;
 +	ei->e2di_flags = 0;
  	ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND: 0;
  	ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE: 0;
  	ei->e2di_flags |= (ip->i_flags & UF_NODUMP) ? EXT2_NODUMP: 0;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/185448: commit references a PR
Date: Tue, 14 Jan 2014 15:20:41 +0000 (UTC)

 Author: pfg
 Date: Tue Jan 14 15:20:33 2014
 New Revision: 260629
 URL: http://svnweb.freebsd.org/changeset/base/260629
 
 Log:
   MFC	r260545:
   
   ext2fs: fix inode flag conversion.
   
   After r252890 we are naively attempting to pass through the
   inode flags.  This is technically incorrect as the ext2
   inode flags don't match the UFS/system values used in
   FreeBSD and a clean conversion is needed.
   
   Some filtering was left in place so the change didn't cause
   significant changes in FreeBSD but some of the garbage passed
   is likely to be the cause for warning messages in linux.
   
   Fix the issue by resetting the flags before conversion as was
   done previously. This also means we will not pass the EXT4_*
   inode flags into FreeBSD's inode.
   
   PR:		kern/185448
 
 Modified:
   stable/10/sys/fs/ext2fs/ext2_inode_cnv.c
 
 Modified: stable/10/sys/fs/ext2fs/ext2_inode_cnv.c
 ==============================================================================
 --- stable/10/sys/fs/ext2fs/ext2_inode_cnv.c	Tue Jan 14 14:05:29 2014	(r260628)
 +++ stable/10/sys/fs/ext2fs/ext2_inode_cnv.c	Tue Jan 14 15:20:33 2014	(r260629)
 @@ -104,7 +104,7 @@ ext2_ei2i(struct ext2fs_dinode *ei, stru
  		ip->i_birthtime = ei->e2di_crtime;
  		ip->i_birthnsec = XTIME_TO_NSEC(ei->e2di_crtime_extra);
  	}
 -	ip->i_flags = ei->e2di_flags;
 +	ip->i_flags = 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_APPEND) ? SF_APPEND : 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_IMMUTABLE) ? SF_IMMUTABLE : 0;
  	ip->i_flags |= (ei->e2di_flags & EXT2_NODUMP) ? UF_NODUMP : 0;
 @@ -152,7 +152,7 @@ ext2_i2ei(struct inode *ip, struct ext2f
  		ei->e2di_crtime = ip->i_birthtime;
  		ei->e2di_crtime_extra = NSEC_TO_XTIME(ip->i_birthnsec);
  	}
 -	ei->e2di_flags = ip->i_flags;
 +	ei->e2di_flags = 0;
  	ei->e2di_flags |= (ip->i_flags & SF_APPEND) ? EXT2_APPEND: 0;
  	ei->e2di_flags |= (ip->i_flags & SF_IMMUTABLE) ? EXT2_IMMUTABLE: 0;
  	ei->e2di_flags |= (ip->i_flags & UF_NODUMP) ? EXT2_NODUMP: 0;
 _______________________________________________
 svn-src-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-src-all
 To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: pfg 
State-Changed-When: Tue Jan 14 22:48:38 UTC 2014 
State-Changed-Why:  
Fix has been merged to -stable. 
Unfortunately the fix was little too late for the next Release. 
Thank you for the report! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=185448 
>Unformatted:
