Skip to content
  • Al Viro's avatar
    acct: encode_comp_t(0) is 0, fortunately... · ecfdb33d
    Al Viro authored
    
    
    There was an amusing bogosity in ac_rw calculation - it tried to
    do encode_comp_t(encode_comp_t(0) / 1024).  Seeing that comp_t is
    a 3-bit exponent + 13-bit mantissa... it's a good thing that 0 is
    represented by all-bits-clear.
    
    The history of that one is interesting - it was introduced in
    2.1.68pre1, when acct.c had been reworked and moved to separate
    file.  Two months later (2.1.86) somebody has noticed that the
    sucker won't compile - there was no task_struct::io_usage.
    At which point the ac_io calculation had changed from
    encode_comp_t(current->io_usage) to encode_comp_t(0) and the
    bug in the next line (absolutely real back then, had it ever
    managed to compile) become a harmless bogosity.  Looks like
    nobody has ever noticed until now.
    
    Anyway, let's bury that idiocy now that it got noticed.  17 years
    is long enough...
    
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    ecfdb33d