| .. | .. |
|---|
| 211 | 211 | ic->scan_dents = NULL; |
|---|
| 212 | 212 | cond_resched(); |
|---|
| 213 | 213 | } |
|---|
| 214 | | - jffs2_build_xattr_subsystem(c); |
|---|
| 214 | + ret = jffs2_build_xattr_subsystem(c); |
|---|
| 215 | + if (ret) |
|---|
| 216 | + goto exit; |
|---|
| 217 | + |
|---|
| 215 | 218 | c->flags &= ~JFFS2_SB_FLAG_BUILDING; |
|---|
| 216 | 219 | |
|---|
| 217 | 220 | dbg_fsbuild("FS build complete\n"); |
|---|
| .. | .. |
|---|
| 415 | 418 | jffs2_free_ino_caches(c); |
|---|
| 416 | 419 | jffs2_free_raw_node_refs(c); |
|---|
| 417 | 420 | ret = -EIO; |
|---|
| 418 | | - goto out_free; |
|---|
| 421 | + goto out_sum_exit; |
|---|
| 419 | 422 | } |
|---|
| 420 | 423 | |
|---|
| 421 | 424 | jffs2_calc_trigger_levels(c); |
|---|
| 422 | 425 | |
|---|
| 423 | 426 | return 0; |
|---|
| 424 | 427 | |
|---|
| 428 | + out_sum_exit: |
|---|
| 429 | + jffs2_sum_exit(c); |
|---|
| 425 | 430 | out_free: |
|---|
| 426 | 431 | kvfree(c->blocks); |
|---|
| 427 | 432 | |
|---|