diff options
Diffstat (limited to 'fs/jffs2/write.c')
-rw-r--r-- | fs/jffs2/write.c | 44 |
1 files changed, 16 insertions, 28 deletions
diff --git a/fs/jffs2/write.c b/fs/jffs2/write.c index 32c1efaf6a0f..d6b4d55e70e4 100644 --- a/fs/jffs2/write.c +++ b/fs/jffs2/write.c | |||
@@ -7,7 +7,7 @@ | |||
7 | * | 7 | * |
8 | * For licensing information, see the file 'LICENCE' in this directory. | 8 | * For licensing information, see the file 'LICENCE' in this directory. |
9 | * | 9 | * |
10 | * $Id: write.c,v 1.88 2005/01/24 21:13:39 hammache Exp $ | 10 | * $Id: write.c,v 1.90 2005/01/28 18:53:01 hammache Exp $ |
11 | * | 11 | * |
12 | */ | 12 | */ |
13 | 13 | ||
@@ -136,19 +136,13 @@ struct jffs2_full_dnode *jffs2_write_dnode(struct jffs2_sb_info *c, struct jffs2 | |||
136 | raw->__totlen = PAD(sizeof(*ri)+datalen); | 136 | raw->__totlen = PAD(sizeof(*ri)+datalen); |
137 | raw->next_phys = NULL; | 137 | raw->next_phys = NULL; |
138 | 138 | ||
139 | if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(ri->version) < f->highest_version)) | 139 | if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(ri->version) < f->highest_version)) { |
140 | { | 140 | BUG_ON(!retried); |
141 | if (! retried) | 141 | D1(printk(KERN_DEBUG "jffs2_write_dnode : dnode_version %d, " |
142 | { | 142 | "highest version %d -> updating dnode\n", |
143 | BUG(); | 143 | je32_to_cpu(ri->version), f->highest_version)); |
144 | } | 144 | ri->version = cpu_to_je32(++f->highest_version); |
145 | else | 145 | ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8)); |
146 | { | ||
147 | D1(printk(KERN_DEBUG "jffs2_write_dnode : dnode_version %d, highest version %d -> updating dnode\n", | ||
148 | je32_to_cpu(ri->version), f->highest_version)); | ||
149 | ri->version = cpu_to_je32(++f->highest_version); | ||
150 | ri->node_crc = cpu_to_je32(crc32(0, ri, sizeof(*ri)-8)); | ||
151 | } | ||
152 | } | 146 | } |
153 | 147 | ||
154 | ret = jffs2_flash_writev(c, vecs, cnt, flash_ofs, &retlen, | 148 | ret = jffs2_flash_writev(c, vecs, cnt, flash_ofs, &retlen, |
@@ -295,20 +289,14 @@ struct jffs2_full_dirent *jffs2_write_dirent(struct jffs2_sb_info *c, struct jff | |||
295 | raw->__totlen = PAD(sizeof(*rd)+namelen); | 289 | raw->__totlen = PAD(sizeof(*rd)+namelen); |
296 | raw->next_phys = NULL; | 290 | raw->next_phys = NULL; |
297 | 291 | ||
298 | if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(rd->version) < f->highest_version)) | 292 | if ((alloc_mode!=ALLOC_GC) && (je32_to_cpu(rd->version) < f->highest_version)) { |
299 | { | 293 | BUG_ON(!retried); |
300 | if (! retried) | 294 | D1(printk(KERN_DEBUG "jffs2_write_dirent : dirent_version %d, " |
301 | { | 295 | "highest version %d -> updating dirent\n", |
302 | BUG(); | 296 | je32_to_cpu(rd->version), f->highest_version)); |
303 | } | 297 | rd->version = cpu_to_je32(++f->highest_version); |
304 | else | 298 | fd->version = je32_to_cpu(rd->version); |
305 | { | 299 | rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8)); |
306 | D1(printk(KERN_DEBUG "jffs2_write_dirent : dirent_version %d, highest version %d -> updating dirent\n", | ||
307 | je32_to_cpu(rd->version), f->highest_version)); | ||
308 | rd->version = cpu_to_je32(++f->highest_version); | ||
309 | fd->version = je32_to_cpu(rd->version); | ||
310 | rd->node_crc = cpu_to_je32(crc32(0, rd, sizeof(*rd)-8)); | ||
311 | } | ||
312 | } | 300 | } |
313 | 301 | ||
314 | ret = jffs2_flash_writev(c, vecs, 2, flash_ofs, &retlen, | 302 | ret = jffs2_flash_writev(c, vecs, 2, flash_ofs, &retlen, |