The bcache source here contains the following line:
schedule_delayed_work(&dc->writeback_rate_update,
dc->writeback_rate_update_seconds * HZ);
writeback_rate_update_seconds
is defined as unsigned int
, which appears to be 32 bit on x86_64, and I am not sure what type HZ
has but I believe the value is 1000 and assume it is 32-bit or less.
If I set writeback_rate_update_seconds
to 2147483647, what value actually gets passed to schedule_delayed_work
? The second parameter of schedule_delayed_work
appears to be a long
, but that won't mean the operands are promoted to long prior to the multiplication overflow, will it?