Re: [PATCH 0/2] Add inode checksum support to ext4

From: Joel Becker
Date: Sun Jul 31 2011 - 03:08:58 EST


On Sat, Jul 30, 2011 at 03:25:32PM +0800, Coly Li wrote:
> On 2011å07æ29æ 21:19, Joel Becker Wrote:
> > On Fri, Jul 29, 2011 at 03:48:45AM -0600, Andreas Dilger wrote:
> >> On 2011-07-28, at 4:07 PM, Joel Becker wrote:
> >>> We use ethernet crc32 in ocfs2. btrfs uses crc32c. Frankly, I
> >>> could have used crc32c if I'd really thought about the hardware
> >>> acceleration benefits. I think it's a good idea for ext4.
> >>
> >> The problem with crc32[c] is that if you don't have hardware acceleration
> >> it is terribly slow.
> >
> > We find ethernet crc32 just fine in ocfs2. I use the kernel's
> > implementation, which survives everyone's network traffic, and of course
> > we added the triggers to jbd2 so we only have to do the calculations on
> > read and write.
> >
>
> Ext4 supports non-journal mode, and there are a few users (Google, Taobao, etc.).
> A trigger of jbd2 may not work well for non-journal Ext4 ...
>
> And in non-journal mode, there is not copy of any meta data block in jbd2, we need to be
> more careful in check summing, e.g. inode/block bitmap blocks...

Sure, but you could use a trigger in journaled mode and then do
the checksums directly in the __ext4_handle_journal_dirty_*() functions
in non-journaled mode. Sure, it would be a little more CPU time, but
the user picked "checksums + no journal" at mkfs time.

Joel

--

Joel's Second Law:

If a code change requires additional user setup, it is wrong.

http://www.jlbec.org/
jlbec@xxxxxxxxxxxx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/