git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' into for-2.6.35
[pandora-kernel.git]
/
fs
/
nilfs2
/
the_nilfs.c
diff --git
a/fs/nilfs2/the_nilfs.c
b/fs/nilfs2/the_nilfs.c
index
7ffcf2b
..
8c10973
100644
(file)
--- a/
fs/nilfs2/the_nilfs.c
+++ b/
fs/nilfs2/the_nilfs.c
@@
-486,11
+486,15
@@
static int nilfs_load_super_block(struct the_nilfs *nilfs,
printk(KERN_WARNING
"NILFS warning: unable to read secondary superblock\n");
printk(KERN_WARNING
"NILFS warning: unable to read secondary superblock\n");
+ /*
+ * Compare two super blocks and set 1 in swp if the secondary
+ * super block is valid and newer. Otherwise, set 0 in swp.
+ */
valid[0] = nilfs_valid_sb(sbp[0]);
valid[1] = nilfs_valid_sb(sbp[1]);
valid[0] = nilfs_valid_sb(sbp[0]);
valid[1] = nilfs_valid_sb(sbp[1]);
- swp = valid[1] &&
- (!valid[0] ||
-
le64_to_cpu(sbp[1]->s_wtime) > le64_to_cpu(sbp[0]->s_wtime
));
+ swp = valid[1] &&
(!valid[0] ||
+ le64_to_cpu(sbp[1]->s_last_cno) >
+
le64_to_cpu(sbp[0]->s_last_cno
));
if (valid[swp] && nilfs_sb2_bad_offset(sbp[swp], sb2off)) {
brelse(sbh[1]);
if (valid[swp] && nilfs_sb2_bad_offset(sbp[swp], sb2off)) {
brelse(sbh[1]);