Message ID | CAMjNe_fj+FQSV9fX-sjh3hdW-CTNaqwmnS+36if6NcvLtpxOKw@mail.gmail.com |
---|---|
State | New, archived |
Headers | show |
On Fri, 2011-08-26 at 16:08 +0530, srimugunthan dhandapani wrote: > hi, > 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. The patch did not apply to the latest UBIFS, but I have amended it. Pushed to ubifs-2.6.git, thanks!
diff --git a/fs/ubifs/sb.c b/fs/ubifs/sb.c index 93d938a..6094c5a 100644 --- a/fs/ubifs/sb.c +++ b/fs/ubifs/sb.c @@ -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);
hi, 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> --- --