Re: e2fsck hanging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



There are are few issues with the get_icount_el() code.  First a simple
binary search may be sufficient.  Also, We now know the float type is
not sufficient to handle the large or small values handled by this
code.  One problem with using float is it does not have the precision
to divide two sufficently large numbers with a small enough
difference.  The other issue is with float value approximation that
causes 'mid' to be larger than 'high'.  The approximation is due to
float single-precision 23 bit mantissa.  Values up to integer
16,777,215 are handled as expected but starting at 16,777,216 the least
significant bits are truncated producing an approximation.  The
approximation could be more or less than what is expected.  This is a
feature of using float.  Double type for IEEE 754 double-precision 64
bit provides a 52 bit mantissa to play with.  That is a large number.

Since the e2fsck code must handle large numbers the use of float type should
be used with caution.

Reference
http://steve.hollasch.net/cgindex/coding/ieeefloat.html
http://en.wikipedia.org/wiki/IEEE_754

_______________________________________________
Ext3-users mailing list
Ext3-users@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/ext3-users

[Index of Archives]         [Linux RAID]     [Kernel Development]     [Red Hat Install]     [Video 4 Linux]     [Postgresql]     [Fedora]     [Gimp]     [Yosemite News]

  Powered by Linux