Skip to content

Commit

Permalink
UBIFS: fix the dark space calculation
Browse files Browse the repository at this point in the history
The dark space calculation should be 64 bit type-casted, when
assigning to tmp64 (similar to how total_free is calculated).
Overflow will occur for very large flashes.

Signed-off-by: srimugunthan <srimugunthan.dhandapani@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@intel.com>
  • Loading branch information
srimugunthan dhandapani authored and Artem Bityutskiy committed Aug 26, 2011
1 parent d37854c commit 7606f85
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 2 deletions.
2 changes: 1 addition & 1 deletion fs/ubifs/recovery.c
Original file line number Diff line number Diff line change
Expand Up @@ -983,7 +983,7 @@ int ubifs_recover_inl_heads(struct ubifs_info *c, void *sbuf)
}

/**
* clean_an_unclean_leb - read and write a LEB to remove corruption.
* clean_an_unclean_leb - read and write a LEB to remove corruption.
* @c: UBIFS file-system description object
* @ucleb: unclean LEB information
* @sbuf: LEB-sized buffer to use
Expand Down
2 changes: 1 addition & 1 deletion fs/ubifs/sb.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,7 +247,7 @@ static int create_default_filesystem(struct ubifs_info *c)
mst->total_dirty = cpu_to_le64(tmp64);

/* The indexing LEB does not contribute to dark space */
tmp64 = (c->main_lebs - 1) * c->dark_wm;
tmp64 = ((long long)(c->main_lebs - 1) * c->dark_wm);
mst->total_dark = cpu_to_le64(tmp64);

mst->total_used = cpu_to_le64(UBIFS_INO_NODE_SZ);
Expand Down

0 comments on commit 7606f85

Please sign in to comment.