Changes in / [21b0a23:53ee27e]


Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libcfa/src/concurrency/iocall.cfa

    r21b0a23 r53ee27e  
    298298
    299299                (*sqe){ IORING_OP_ACCEPT, sockfd };
    300                 sqe->addr = addr;
    301                 sqe->addr2 = addrlen;
     300                sqe->addr = (uint64_t)(uintptr_t)addr;
     301                sqe->addr2 = (uint64_t)(uintptr_t)addrlen;
    302302                sqe->accept_flags = flags;
    303303
     
    313313
    314314                (*sqe){ IORING_OP_CONNECT, sockfd };
    315                 sqe->addr = (uint64_t)addr;
    316                 sqe->off = addrlen;
     315                sqe->addr = (uint64_t)(uintptr_t)addr;
     316                sqe->off  = (uint64_t)(uintptr_t)addrlen;
    317317
    318318                __submit_wait
     
    326326                __submit_prelude
    327327
     328                #warning FALLOCATE documentation for linux 5.7 is incorrect, and doesn't handle mode
     329
    328330                (*sqe){ IORING_OP_FALLOCATE, fd };
    329331                sqe->off = offset;
    330                 sqe->len = length;
    331                 sqe->mode = mode;
     332                sqe->len = mode;
     333                sqe->addr = len;
    332334
    333335                __submit_wait
     
    343345                (*sqe){ IORING_OP_FADVISE, fd };
    344346                sqe->off = (uint64_t)offset;
    345                 sqe->len = length;
     347                sqe->len = len;
    346348                sqe->fadvise_advice = advice;
    347349
     
    374376                sqe->addr = (uint64_t)pathname;
    375377                sqe->open_flags = flags;
    376                 sqe->mode = mode;
     378                sqe->len = mode;
    377379
    378380                __submit_wait
     
    442444                __submit_prelude
    443445
    444                 (*sqe){ IORING_OP_SPLICE, fd_out, 0p, len, off_out };
     446                (*sqe){ IORING_OP_SPLICE, fd_out };
     447                if( off_out ) {
     448                        sqe->off = *off_out;
     449                }
     450                else {
     451                        sqe->off = (uint64_t)-1;
     452                }
     453                sqe->len = len;
    445454                sqe->splice_fd_in  = fd_in;
    446                 sqe->splice_off_in = off_in;
     455                if( off_in ) {
     456                        sqe->splice_off_in = *off_in;
     457                }
     458                else {
     459                        sqe->splice_off_in = (uint64_t)-1;
     460                }
    447461                sqe->splice_flags  = flags | (SPLICE_FLAGS & submit_flags);
    448462
Note: See TracChangeset for help on using the changeset viewer.