• Dmitry Safonov's avatar
    aio: Allow expressions in NR_IOEVENTS_IN_PAGES macro · bc1fbb0f
    Dmitry Safonov authored
    The macro is used only in aio_estimate_nr_reqs():
    unsigned int k_max_reqs = NR_IOEVENTS_IN_NPAGES(size/PAGE_SIZE);
    
    Which compiler may evaluate as (((PAGE_SIZE*size)/PAGE_SIZE) - ...)
    It works as long as PAGE_SIZE is long.
    The patches set converts PAGE_SIZE to use sysconf() returning
    (unsigned), non-long type and making the aio macro overflowing.
    
    I do not see any value making PAGE_SIZE (unsigned long) typed.
    
    Cc: Kirill Tkhai <ktkhai@virtuozzo.com>
    Signed-off-by: 's avatarDmitry Safonov <dima@arista.com>
    Signed-off-by: 's avatarAndrei Vagin <avagin@virtuozzo.com>
    bc1fbb0f
Name
Last commit
Last update
Documentation Loading commit data...
compel Loading commit data...
contrib Loading commit data...
coredump Loading commit data...
crit Loading commit data...
criu Loading commit data...
images Loading commit data...
include/common Loading commit data...
lib Loading commit data...
scripts Loading commit data...
soccr Loading commit data...
test Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
.travis.yml Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
INSTALL.md Loading commit data...
Makefile Loading commit data...
Makefile.compel Loading commit data...
Makefile.config Loading commit data...
Makefile.install Loading commit data...
Makefile.versions Loading commit data...
README.md Loading commit data...