public inbox for linux-ext4@vger.kernel.org
 help / color / mirror / Atom feed
* Fw: Re: 2.6.21-rc3-mm1
@ 2007-03-13  6:04 Andrew Morton
  2007-03-13 15:05 ` Eric Sandeen
  0 siblings, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2007-03-13  6:04 UTC (permalink / raw)
  To: linux-ext4@vger.kernel.org; +Cc: Radoslaw Szkodzinski, Kalpak Shah



Begin forwarded message:

Date: Mon, 12 Mar 2007 19:14:17 +0100
From: "Radoslaw Szkodzinski" <astralstorm@gmail.com>
To: "Andrew Morton" <akpm@linux-foundation.org>, "Theodore T'so" <tytso@mit.edu>
Cc: linux-kernel@vger.kernel.org
Subject: Re: 2.6.21-rc3-mm1


On 3/8/07, Andrew Morton <akpm@linux-foundation.org> wrote:
>
> - Re-added the ext4 development tree to the -mm lineup.  It has stuff in
>   it.
>

And broken stuff too :-)
The nanoseconds patch is broken on x86_64 - makes mtimes from the future:
e.g. year 2431. I suspect an endianness issue.
x86 works fine according to my sources.

The files themselves have correct mtimes, as booting previous kernel
or one w/o the nanoseconds patch works fine.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-13  6:04 Fw: Re: 2.6.21-rc3-mm1 Andrew Morton
@ 2007-03-13 15:05 ` Eric Sandeen
  2007-03-13 15:29   ` Dave Kleikamp
  0 siblings, 1 reply; 7+ messages in thread
From: Eric Sandeen @ 2007-03-13 15:05 UTC (permalink / raw)
  To: Andrew Morton
  Cc: linux-ext4@vger.kernel.org, Radoslaw Szkodzinski, Kalpak Shah

Andrew Morton wrote:

> And broken stuff too :-)
> The nanoseconds patch is broken on x86_64 - makes mtimes from the future:
> e.g. year 2431. I suspect an endianness issue.
> x86 works fine according to my sources.
>
> The files themselves have correct mtimes, as booting previous kernel
> or one w/o the nanoseconds patch works fine.
There were later patches posted to the list after this version, I think, which
are not yet in Ted's tree... I'll find some time today to test the "take3" version
on x86_64, unless someone beats me to it.

-Eric

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-13 15:05 ` Eric Sandeen
@ 2007-03-13 15:29   ` Dave Kleikamp
  2007-03-13 20:07     ` Eric Sandeen
  2007-03-14  1:07     ` Andrew Morton
  0 siblings, 2 replies; 7+ messages in thread
From: Dave Kleikamp @ 2007-03-13 15:29 UTC (permalink / raw)
  To: Eric Sandeen
  Cc: Andrew Morton, linux-ext4@vger.kernel.org, Radoslaw Szkodzinski,
	Kalpak Shah

On Tue, 2007-03-13 at 10:05 -0500, Eric Sandeen wrote:
> Andrew Morton wrote:
> 
> > And broken stuff too :-)
> > The nanoseconds patch is broken on x86_64 - makes mtimes from the future:
> > e.g. year 2431. I suspect an endianness issue.
> > x86 works fine according to my sources.
> >
> > The files themselves have correct mtimes, as booting previous kernel
> > or one w/o the nanoseconds patch works fine.
> There were later patches posted to the list after this version, I think, which
> are not yet in Ted's tree... I'll find some time today to test the "take3" version
> on x86_64, unless someone beats me to it.

I didn't quite beat you to it, but I did make a diff to bring
2.6.21-rc3-mm1 in tune with the "take3" patch.  It makes the code easier
to understand, but I'm not sure if it contains anything to fix the bug.
Code inspection hasn't gotten me any closer to figuring out what's
wrong.

Shaggy

diff -Nurp linux-2.6.21-rc3-mm1/fs/ext4/inode.c linux/fs/ext4/inode.c
--- linux-2.6.21-rc3-mm1/fs/ext4/inode.c	2007-03-09 14:14:01.000000000 -0600
+++ linux/fs/ext4/inode.c	2007-03-13 09:21:13.000000000 -0500
@@ -2706,10 +2706,6 @@ void ext4_read_inode(struct inode * inod
 	}
 	inode->i_nlink = le16_to_cpu(raw_inode->i_links_count);
 	inode->i_size = le32_to_cpu(raw_inode->i_size);
-	EXT4_INODE_GET_XTIME(i_ctime, i_ctime_extra, ei, inode, raw_inode);
-	EXT4_INODE_GET_XTIME(i_mtime, i_mtime_extra, ei, inode, raw_inode);
-	EXT4_INODE_GET_XTIME(i_atime, i_atime_extra, ei, inode, raw_inode);
-	EXT4_INODE_GET_XTIME(i_crtime, i_crtime_extra, ei, ei, raw_inode);
 
 	ei->i_state = 0;
 	ei->i_dir_start_lookup = 0;
@@ -2785,6 +2781,11 @@ void ext4_read_inode(struct inode * inod
 	} else
 		ei->i_extra_isize = 0;
 
+	EXT4_INODE_GET_XTIME(i_ctime, inode, raw_inode);
+	EXT4_INODE_GET_XTIME(i_mtime, inode, raw_inode);
+	EXT4_INODE_GET_XTIME(i_atime, inode, raw_inode);
+	EXT4_INODE_GET_XTIME(i_crtime, ei, raw_inode);
+
 	if (S_ISREG(inode->i_mode)) {
 		inode->i_op = &ext4_file_inode_operations;
 		inode->i_fop = &ext4_file_operations;
@@ -2866,10 +2867,10 @@ static int ext4_do_update_inode(handle_t
 	raw_inode->i_links_count = cpu_to_le16(inode->i_nlink);
 	raw_inode->i_size = cpu_to_le32(ei->i_disksize);
 
-	EXT4_INODE_SET_XTIME(i_ctime, i_ctime_extra, ei, inode, raw_inode);
-	EXT4_INODE_SET_XTIME(i_mtime, i_mtime_extra, ei, inode, raw_inode);
-	EXT4_INODE_SET_XTIME(i_atime, i_atime_extra, ei, inode, raw_inode);
-	EXT4_INODE_SET_XTIME(i_crtime, i_crtime_extra, ei, ei, raw_inode);
+	EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
+	EXT4_INODE_SET_XTIME(i_mtime, inode, raw_inode);
+	EXT4_INODE_SET_XTIME(i_atime, inode, raw_inode);
+	EXT4_INODE_SET_XTIME(i_crtime, ei, raw_inode);
 
 	raw_inode->i_blocks = cpu_to_le32(inode->i_blocks);
 	raw_inode->i_dtime = cpu_to_le32(ei->i_dtime);
diff -Nurp linux-2.6.21-rc3-mm1/include/linux/ext4_fs.h linux/include/linux/ext4_fs.h
--- linux-2.6.21-rc3-mm1/include/linux/ext4_fs.h	2007-03-09 14:14:08.000000000 -0600
+++ linux/include/linux/ext4_fs.h	2007-03-13 09:21:13.000000000 -0500
@@ -358,39 +358,42 @@ struct ext4_inode {
 #define EXT4_EPOCH_MASK ((1 << EXT4_EPOCH_BITS) - 1)
 #define EXT4_NSEC_MASK  (~0UL << EXT4_EPOCH_BITS)
 
-#define EXT4_INODE_SET_XTIME(xtime, extra_xtime, ei, inode, raw_inode)	       \
+#define EXT4_FITS_IN_INODE(ext4_inode, field)		\
+	((offsetof(typeof(*ext4_inode), field) +	\
+	  sizeof((ext4_inode)->field))			\
+	<= (EXT4_GOOD_OLD_INODE_SIZE +			\
+	    le16_to_cpu((ext4_inode)->i_extra_isize)))	\
+
+static inline __le32 ext4_encode_extra_time(struct timespec *time)
+{
+       return cpu_to_le32((sizeof(time->tv_sec) > 4 ?
+			   time->tv_sec >> 32 : 0) |
+			   ((time->tv_nsec << 2) & EXT4_NSEC_MASK));
+}
+
+static inline void ext4_decode_extra_time(struct timespec *time, __le32 extra) {
+       if (sizeof(time->tv_sec) > 4)
+	       time->tv_sec |= (__u64)(le32_to_cpu(extra) & EXT4_EPOCH_MASK)
+			       << 32;
+       time->tv_nsec = (le32_to_cpu(extra) & EXT4_NSEC_MASK) >> 2;
+}
+
+#define EXT4_INODE_SET_XTIME(xtime, inode, raw_inode)	   		       \
 do {									       \
-	if (offsetof(typeof(*raw_inode), xtime) +			       \
-	    sizeof((raw_inode)->xtime) <= 				       \
-	    EXT4_GOOD_OLD_INODE_SIZE + (ei)->i_extra_isize) 		       \
-		(raw_inode)->xtime = cpu_to_le32((inode)->xtime.tv_sec);       \
-	if (offsetof(typeof(*raw_inode), extra_xtime) +			       \
-	    sizeof((raw_inode)->extra_xtime) <=				       \
-	    EXT4_GOOD_OLD_INODE_SIZE + (ei)->i_extra_isize) 		       \
-		(raw_inode)->extra_xtime =				       \
-			cpu_to_le32((sizeof((inode)->xtime.tv_sec) > 4 ?       \
-				((__u64)(inode)->xtime.tv_sec >> 32) : 0)|     \
-				(((inode)->xtime.tv_nsec << 2) &	       \
-				EXT4_NSEC_MASK));			       \
+	if (EXT4_FITS_IN_INODE(raw_inode, xtime))			       \
+        	(raw_inode)->xtime = cpu_to_le32((inode)->xtime.tv_sec);       \
+	if (EXT4_FITS_IN_INODE(raw_inode, xtime ## _extra))		       \
+		(raw_inode)->xtime ## _extra =				       \
+				ext4_encode_extra_time(&(inode)->xtime);       \
 } while (0)
 
-#define EXT4_INODE_GET_XTIME(xtime, extra_xtime, ei, inode, raw_inode)	       \
+#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode)		  	       \
 do {									       \
-	if (offsetof(typeof(*raw_inode), xtime) +			       \
-	    sizeof((raw_inode)->xtime) <=				       \
-	    EXT4_GOOD_OLD_INODE_SIZE + (ei)->i_extra_isize) 		       \
+	if (EXT4_FITS_IN_INODE(raw_inode, xtime))                              \
 		(inode)->xtime.tv_sec = le32_to_cpu((raw_inode)->xtime);       \
-	if (offsetof(typeof(*raw_inode), extra_xtime) +			       \
-	    sizeof((raw_inode)->extra_xtime) <= 			       \
-	    EXT4_GOOD_OLD_INODE_SIZE + (ei)->i_extra_isize){		       \
-		if (sizeof((inode)->xtime.tv_sec) > 4)			       \
-			(inode)->xtime.tv_sec |=			       \
-				(__u64)(le32_to_cpu((raw_inode)->extra_xtime) &\
-					EXT4_EPOCH_MASK) << 32;		       \
-			(inode)->xtime.tv_nsec =			       \
-				(le32_to_cpu((raw_inode)->extra_xtime) &       \
-					EXT4_NSEC_MASK) >> 2;		       \
-	}								       \
+	if (EXT4_FITS_IN_INODE(raw_inode, xtime ## _extra))		       \
+		ext4_decode_extra_time(&(inode)->xtime,			       \
+				       raw_inode->xtime ## _extra);	       \
 } while (0)
 
 #if defined(__KERNEL__) || defined(__linux__)
@@ -589,7 +592,7 @@ static inline struct ext4_inode_info *EX
 
 static inline struct timespec ext4_current_time(struct inode *inode)
 {
-	return (inode->i_sb->s_time_gran < 1000000000) ?
+	return (inode->i_sb->s_time_gran < NSEC_PER_SEC) ?
 		current_fs_time(inode->i_sb) : CURRENT_TIME_SEC;
 }
 

-- 
David Kleikamp
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-13 15:29   ` Dave Kleikamp
@ 2007-03-13 20:07     ` Eric Sandeen
  2007-03-14  1:07     ` Andrew Morton
  1 sibling, 0 replies; 7+ messages in thread
From: Eric Sandeen @ 2007-03-13 20:07 UTC (permalink / raw)
  To: Dave Kleikamp
  Cc: Andrew Morton, linux-ext4@vger.kernel.org, Radoslaw Szkodzinski,
	Kalpak Shah

Dave Kleikamp wrote:

> I didn't quite beat you to it, but I did make a diff to bring
> 2.6.21-rc3-mm1 in tune with the "take3" patch.  It makes the code easier
> to understand, but I'm not sure if it contains anything to fix the bug.
> Code inspection hasn't gotten me any closer to figuring out what's
> wrong.
>
> Shaggy
>   
And here's one on top of that, after discussing w/ Dave, Kalpak, and Badari 
on #linuxfs.

The problem in the -mm tree is that it was looking at i_extra_isize
before it got set; that was fixed in Kalpak's patch, which Dave sent
the interdiff for.  Then, we were looking at the raw_inode's extra_isize,
not the in-core one.  This fixes that, and along the way, gets rid
of the cleverness of passing different types into the 2nd arg of the
same GET/SET macros... 

============

Differentiate xtime macros which use the vfs inode vs. ext4_inode_info
Use in-core ext4 inode rather than raw_inode to get extra_isize
in EXT4_FITS_IN_INODE

Signed-off-by: Eric Sandeen <sandeen@redhat.com>

Index: linux-2.6-ext4/fs/ext4/inode.c
===================================================================
--- linux-2.6-ext4.orig/fs/ext4/inode.c
+++ linux-2.6-ext4/fs/ext4/inode.c
@@ -2784,7 +2784,7 @@ void ext4_read_inode(struct inode * inod
 	EXT4_INODE_GET_XTIME(i_ctime, inode, raw_inode);
 	EXT4_INODE_GET_XTIME(i_mtime, inode, raw_inode);
 	EXT4_INODE_GET_XTIME(i_atime, inode, raw_inode);
-	EXT4_INODE_GET_XTIME(i_crtime, ei, raw_inode);
+	EXT4_EINODE_GET_XTIME(i_crtime, ei, raw_inode);
 
 	if (S_ISREG(inode->i_mode)) {
 		inode->i_op = &ext4_file_inode_operations;
@@ -2870,7 +2870,7 @@ static int ext4_do_update_inode(handle_t
 	EXT4_INODE_SET_XTIME(i_ctime, inode, raw_inode);
 	EXT4_INODE_SET_XTIME(i_mtime, inode, raw_inode);
 	EXT4_INODE_SET_XTIME(i_atime, inode, raw_inode);
-	EXT4_INODE_SET_XTIME(i_crtime, ei, raw_inode);
+	EXT4_EINODE_SET_XTIME(i_crtime, ei, raw_inode);
 
 	raw_inode->i_blocks = cpu_to_le32(inode->i_blocks);
 	raw_inode->i_dtime = cpu_to_le32(ei->i_dtime);
Index: linux-2.6-ext4/include/linux/ext4_fs.h
===================================================================
--- linux-2.6-ext4.orig/include/linux/ext4_fs.h
+++ linux-2.6-ext4/include/linux/ext4_fs.h
@@ -358,11 +358,11 @@ struct ext4_inode {
 #define EXT4_EPOCH_MASK ((1 << EXT4_EPOCH_BITS) - 1)
 #define EXT4_NSEC_MASK  (~0UL << EXT4_EPOCH_BITS)
 
-#define EXT4_FITS_IN_INODE(ext4_inode, field)		\
+#define EXT4_FITS_IN_INODE(ext4_inode, einode, field)	\
 	((offsetof(typeof(*ext4_inode), field) +	\
 	  sizeof((ext4_inode)->field))			\
 	<= (EXT4_GOOD_OLD_INODE_SIZE +			\
-	    le16_to_cpu((ext4_inode)->i_extra_isize)))	\
+	    (einode)->i_extra_isize))			\
 
 static inline __le32 ext4_encode_extra_time(struct timespec *time)
 {
@@ -378,24 +378,40 @@ static inline void ext4_decode_extra_tim
        time->tv_nsec = (le32_to_cpu(extra) & EXT4_NSEC_MASK) >> 2;
 }
 
-#define EXT4_INODE_SET_XTIME(xtime, inode, raw_inode)	   		       \
+#define EXT4_INODE_SET_XTIME(xtime, inode, raw_inode)			       \
 do {									       \
-	if (EXT4_FITS_IN_INODE(raw_inode, xtime))			       \
-        	(raw_inode)->xtime = cpu_to_le32((inode)->xtime.tv_sec);       \
-	if (EXT4_FITS_IN_INODE(raw_inode, xtime ## _extra))		       \
+       	(raw_inode)->xtime = cpu_to_le32((inode)->xtime.tv_sec);	       \
+	if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra))     \
 		(raw_inode)->xtime ## _extra =				       \
 				ext4_encode_extra_time(&(inode)->xtime);       \
 } while (0)
 
-#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode)		  	       \
+#define EXT4_EINODE_SET_XTIME(xtime, einode, raw_inode)	   		       \
 do {									       \
-	if (EXT4_FITS_IN_INODE(raw_inode, xtime))                              \
-		(inode)->xtime.tv_sec = le32_to_cpu((raw_inode)->xtime);       \
-	if (EXT4_FITS_IN_INODE(raw_inode, xtime ## _extra))		       \
+	if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime))		       \
+        	(raw_inode)->xtime = cpu_to_le32((einode)->xtime.tv_sec);      \
+	if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra))	       \
+		(raw_inode)->xtime ## _extra =				       \
+				ext4_encode_extra_time(&(einode)->xtime);      \
+} while (0)
+
+#define EXT4_INODE_GET_XTIME(xtime, inode, raw_inode)			       \
+do {									       \
+	(inode)->xtime.tv_sec = le32_to_cpu((raw_inode)->xtime);	       \
+	if (EXT4_FITS_IN_INODE(raw_inode, EXT4_I(inode), xtime ## _extra))     \
 		ext4_decode_extra_time(&(inode)->xtime,			       \
 				       raw_inode->xtime ## _extra);	       \
 } while (0)
 
+#define EXT4_EINODE_GET_XTIME(xtime, einode, raw_inode)			       \
+do {									       \
+	if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime))		       \
+		(einode)->xtime.tv_sec = le32_to_cpu((raw_inode)->xtime);      \
+	if (EXT4_FITS_IN_INODE(raw_inode, einode, xtime ## _extra))	       \
+		ext4_decode_extra_time(&(einode)->xtime,		       \
+				       raw_inode->xtime ## _extra);	       \
+} while (0)
+
 #if defined(__KERNEL__) || defined(__linux__)
 #define i_reserved1	osd1.linux1.l_i_reserved1
 #define i_frag		osd2.linux2.l_i_frag

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-13 15:29   ` Dave Kleikamp
  2007-03-13 20:07     ` Eric Sandeen
@ 2007-03-14  1:07     ` Andrew Morton
  2007-03-14  2:30       ` Dave Kleikamp
  1 sibling, 1 reply; 7+ messages in thread
From: Andrew Morton @ 2007-03-14  1:07 UTC (permalink / raw)
  To: Dave Kleikamp; +Cc: sandeen, linux-ext4, astralstorm, kalpak

> On Tue, 13 Mar 2007 10:29:05 -0500 Dave Kleikamp <shaggy@linux.vnet.ibm.com> wrote:
> On Tue, 2007-03-13 at 10:05 -0500, Eric Sandeen wrote:
> > Andrew Morton wrote:
> > 
> > > And broken stuff too :-)
> > > The nanoseconds patch is broken on x86_64 - makes mtimes from the future:
> > > e.g. year 2431. I suspect an endianness issue.
> > > x86 works fine according to my sources.
> > >
> > > The files themselves have correct mtimes, as booting previous kernel
> > > or one w/o the nanoseconds patch works fine.
> > There were later patches posted to the list after this version, I think, which
> > are not yet in Ted's tree... I'll find some time today to test the "take3" version
> > on x86_64, unless someone beats me to it.
> 
> I didn't quite beat you to it, but I did make a diff to bring
> 2.6.21-rc3-mm1 in tune with the "take3" patch.  It makes the code easier
> to understand, but I'm not sure if it contains anything to fix the bug.
> Code inspection hasn't gotten me any closer to figuring out what's
> wrong.
> 
> Shaggy

It's possible that I screwed up merging Ted's tree into mainline - it spat
some rejects, and needs updating to 2.6.21-rc3.

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-14  1:07     ` Andrew Morton
@ 2007-03-14  2:30       ` Dave Kleikamp
  2007-03-14  5:57         ` Mingming Cao
  0 siblings, 1 reply; 7+ messages in thread
From: Dave Kleikamp @ 2007-03-14  2:30 UTC (permalink / raw)
  To: Andrew Morton; +Cc: sandeen, linux-ext4, astralstorm, kalpak

On Tue, 2007-03-13 at 17:07 -0800, Andrew Morton wrote:
> > On Tue, 13 Mar 2007 10:29:05 -0500 Dave Kleikamp <shaggy@linux.vnet.ibm.com> wrote:
> > On Tue, 2007-03-13 at 10:05 -0500, Eric Sandeen wrote:
> .
> > > There were later patches posted to the list after this version, I think, which
> > > are not yet in Ted's tree... I'll find some time today to test the "take3" version
> > > on x86_64, unless someone beats me to it.
> > 
> > I didn't quite beat you to it, but I did make a diff to bring
> > 2.6.21-rc3-mm1 in tune with the "take3" patch.  It makes the code easier
> > to understand, but I'm not sure if it contains anything to fix the bug.
> > Code inspection hasn't gotten me any closer to figuring out what's
> > wrong.
> > 
> > Shaggy
> 
> It's possible that I screwed up merging Ted's tree into mainline - it spat
> some rejects, and needs updating to 2.6.21-rc3.

I think your merge of Ted's tree is okay, although his tree could use
some cleanup.  The patch Eric sent on top of mine should clear up this
problem.  I'll try to get Ted's tree up to date, or find someone with
some more spare time to take over maintenance.
-- 
David Kleikamp
IBM Linux Technology Center

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Fw: Re: 2.6.21-rc3-mm1
  2007-03-14  2:30       ` Dave Kleikamp
@ 2007-03-14  5:57         ` Mingming Cao
  0 siblings, 0 replies; 7+ messages in thread
From: Mingming Cao @ 2007-03-14  5:57 UTC (permalink / raw)
  To: Dave Kleikamp; +Cc: Andrew Morton, sandeen, linux-ext4, astralstorm, kalpak

On Tue, 2007-03-13 at 21:30 -0500, Dave Kleikamp wrote:
> On Tue, 2007-03-13 at 17:07 -0800, Andrew Morton wrote:
> > > On Tue, 13 Mar 2007 10:29:05 -0500 Dave Kleikamp <shaggy@linux.vnet.ibm.com> wrote:
> > > On Tue, 2007-03-13 at 10:05 -0500, Eric Sandeen wrote:
> > .
> > > > There were later patches posted to the list after this version, I think, which
> > > > are not yet in Ted's tree... I'll find some time today to test the "take3" version
> > > > on x86_64, unless someone beats me to it.
> > > 
> > > I didn't quite beat you to it, but I did make a diff to bring
> > > 2.6.21-rc3-mm1 in tune with the "take3" patch.  It makes the code easier
> > > to understand, but I'm not sure if it contains anything to fix the bug.
> > > Code inspection hasn't gotten me any closer to figuring out what's
> > > wrong.
> > > 
> > > Shaggy
> > 
> > It's possible that I screwed up merging Ted's tree into mainline - it spat
> > some rejects, and needs updating to 2.6.21-rc3.
> 
> I think your merge of Ted's tree is okay, although his tree could use
> some cleanup.  The patch Eric sent on top of mine should clear up this
> problem.  I'll try to get Ted's tree up to date, or find someone with
> some more spare time to take over maintenance.

I would help maintain the tree, it does needs a fair amount of work and
time.  Ted has already started looking at using ABAT to automate the
process of testing the ext4 git tree on all arch. This seems worth
invest some time on this.  Currently it seems he has been extremely busy
with other duties so I am trying to help on this first.

Mingming

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2007-03-14  5:57 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-13  6:04 Fw: Re: 2.6.21-rc3-mm1 Andrew Morton
2007-03-13 15:05 ` Eric Sandeen
2007-03-13 15:29   ` Dave Kleikamp
2007-03-13 20:07     ` Eric Sandeen
2007-03-14  1:07     ` Andrew Morton
2007-03-14  2:30       ` Dave Kleikamp
2007-03-14  5:57         ` Mingming Cao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox