summaryrefslogtreecommitdiff
path: root/e2fsck/revoke.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2001-06-08 11:55:44 +0000
committerTheodore Ts'o <tytso@mit.edu>2001-06-08 11:55:44 +0000
commit725c474ffcf09bbdbd6cd396a867914fec7b4510 (patch)
tree394afe42da0c71156e0280442bd58bd2b578a660 /e2fsck/revoke.c
parent30e50b7cdd6f5bbd5f2d6a2ee8ce0d4522336397 (diff)
downloade2fsprogs-725c474ffcf09bbdbd6cd396a867914fec7b4510.tar.gz
ChangeLog, jfs.h:
jfs.h: Synchronize with ext3 0.7a ChangeLog, recovery.c, revoke.c: recover.c, revoke.c: Synchronize with ext3 0.7a
Diffstat (limited to 'e2fsck/revoke.c')
-rw-r--r--e2fsck/revoke.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/e2fsck/revoke.c b/e2fsck/revoke.c
index 28f8fa29..cdcf8efb 100644
--- a/e2fsck/revoke.c
+++ b/e2fsck/revoke.c
@@ -33,11 +33,13 @@
* cancel the revoke before the transaction commits.
*
* Block is journaled and then revoked:
- * The revoke must take precedence over the write of the block, so
- * we need either to cancel the journal entry or to write the revoke
+ * The revoke must take precedence over the write of the block, so we
+ * need either to cancel the journal entry or to write the revoke
* later in the log than the log block. In this case, we choose the
- * former: the commit code must skip any block that has the Revoke bit
- * set.
+ * latter: journaling a block cancels any revoke record for that block
+ * in the current transaction, so any revoke for that block in the
+ * transaction must have happened after the block was journaled and so
+ * the revoke must take precedence.
*
* Block is revoked and then written as data:
* The data write is allowed to succeed, but the revoke is _not_
@@ -52,7 +54,7 @@
* buffer has not been revoked, and cancel_revoke
* need do nothing.
* RevokeValid set, Revoke set:
- * buffer has been revoked.
+ * buffer has been revoked.
*/
#ifndef __KERNEL__
@@ -489,7 +491,7 @@ int journal_set_revoke(journal_t *journal,
if (record) {
/* If we have multiple occurences, only record the
* latest sequence number in the hashed record */
- if (tid_ge(sequence, record->sequence))
+ if (tid_gt(sequence, record->sequence))
record->sequence = sequence;
return 0;
}
@@ -512,7 +514,7 @@ int journal_test_revoke(journal_t *journal,
record = find_revoke_record(journal, blocknr);
if (!record)
return 0;
- if (tid_ge(sequence, record->sequence))
+ if (tid_gt(sequence, record->sequence))
return 0;
return 1;
}