jbd: don't wait (forever) for stale tid caused by wraparound
authorJan Kara <jack@suse.cz>
Wed, 27 Mar 2013 16:30:59 +0000 (17:30 +0100)
committerJan Kara <jack@suse.cz>
Wed, 27 Mar 2013 16:30:59 +0000 (17:30 +0100)
commite678a4f0f50d4fa4f7aaa6de8eb3f071513356a0
tree94eafb0a1181006633817a65038d4923cc3e647a
parente643692138cfa33528f054b071ba2583509bb217
jbd: don't wait (forever) for stale tid caused by wraparound

In the case where an inode has a very stale transaction id (tid) in
i_datasync_tid or i_sync_tid, it's possible that after a very large
(2**31) number of transactions, that the tid number space might wrap,
causing tid_geq()'s calculations to fail.

Commit d9b0193 "jbd: fix fsync() tid wraparound bug" attempted to fix
this problem, but it only avoided kjournald spinning forever by fixing
the logic in jbd_log_start_commit().

Signed-off-by: Jan Kara <jack@suse.cz>
fs/jbd/journal.c