What are the key differences between jbd and jbd2?
The code between jbd and jbd2 is largely the same, but jbd2 adds a few new features in a compatible way: • support for 64-bit filesystems (64_BIT) • checksumming of journal transactions (CHECKSUM) • asynchronous transaction commit block write (ASYNC_COMMIT) In addition, jbd2 implements a new ordered mode for flushing data blocks to the filesystem that works in conjunction with delayed allocation to avoid blocking journal commits when there is a lot of data being written to the filesystem. This avoids long delays for fsync() operations when another thread is doing heavy writes to the filesystem.