aboutsummaryrefslogtreecommitdiffstats
path: root/fs/internal.h
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2014-04-19 14:44:49 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2014-08-07 14:40:07 -0400
commitecfdb33d1fbc7e6e095ba24dac2930208494e734 (patch)
tree3e650fbb7ccc290fc4094dd420cdef3ddd966c9c /fs/internal.h
parentMerge commit 'ccbf62d8a284cf181ac28c8e8407dd077d90dd4b' into for-next (diff)
downloadlinux-dev-ecfdb33d1fbc7e6e095ba24dac2930208494e734.tar.xz
linux-dev-ecfdb33d1fbc7e6e095ba24dac2930208494e734.zip
acct: encode_comp_t(0) is 0, fortunately...
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: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/internal.h')
0 files changed, 0 insertions, 0 deletions