Changeset d092d2c in mainline


Ignore:
Timestamp:
2024-11-12T21:06:04Z (6 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
da0570a
Parents:
1a60e645
Message:

hr: RAID{0,4}: cast void * to uint8_t *

Location:
uspace/srv/bd/hr
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/hr/raid0.c

    r1a60e645 rd092d2c  
    115115
    116116static errno_t hr_raid0_bd_op(hr_bd_op_type_t type, bd_srv_t *bd, aoff64_t ba,
    117     size_t cnt, void *data_read, const void *data_write, size_t size)
     117    size_t cnt, void *dst, const void *src, size_t size)
    118118{
    119119        hr_volume_t *vol = bd->srvs->sarg;
    120120        errno_t rc;
    121         uint64_t phys_block;
     121        uint64_t phys_block, len;
    122122        size_t left;
     123        const uint8_t *data_write = src;
     124        uint8_t *data_read = dst;
    123125
    124126        /* propagate sync */
     
    155157                phys_block = ext_stripe * strip_size + strip_off;
    156158                cnt = min(left, strip_size - strip_off);
     159                len = vol->bsize * cnt;
    157160                hr_add_ba_offset(vol, &phys_block);
    158161                switch (type) {
     
    167170                        rc = block_read_direct(vol->extents[extent].svc_id,
    168171                            phys_block, cnt, data_read);
    169                         data_read = (void *) ((uintptr_t) data_read +
    170                             (vol->bsize * cnt));
     172                        data_read += len;
    171173                        break;
    172174                case HR_BD_WRITE:
    173175                        rc = block_write_direct(vol->extents[extent].svc_id,
    174176                            phys_block, cnt, data_write);
    175                         data_write = (void *) ((uintptr_t) data_write +
    176                             (vol->bsize * cnt));
     177                        data_write += len;
    177178                        break;
    178179                default:
  • uspace/srv/bd/hr/raid4.c

    r1a60e645 rd092d2c  
    335335
    336336static errno_t hr_raid4_bd_op(hr_bd_op_type_t type, bd_srv_t *bd, aoff64_t ba,
    337     size_t cnt, void *data_read, const void *data_write, size_t size)
     337    size_t cnt, void *dst, const void *src, size_t size)
    338338{
    339339        hr_volume_t *vol = bd->srvs->sarg;
    340340        errno_t rc;
    341         uint64_t phys_block;
     341        uint64_t phys_block, len;
    342342        size_t left;
     343        const uint8_t *data_write = src;
     344        uint8_t *data_read = dst;
    343345
    344346        /* propagate sync */
     
    375377                phys_block = ext_stripe * strip_size + strip_off;
    376378                cnt = min(left, strip_size - strip_off);
     379                len = vol->bsize * cnt;
    377380                hr_add_ba_offset(vol, &phys_block);
    378381                switch (type) {
     
    396399                                    phys_block, cnt, data_read);
    397400                        }
    398 
    399                         data_read += vol->bsize * cnt;
     401                        data_read += len;
    400402                        break;
    401403                case HR_BD_WRITE:
     
    403405                        rc = hr_raid4_write(vol, extent, phys_block,
    404406                            data_write, cnt);
    405 
    406                         data_write += vol->bsize * cnt;
     407                        data_write += len;
    407408                        break;
    408409                default:
     
    427428                                 */
    428429                                if (type == HR_BD_WRITE) {
    429                                         data_write -= vol->bsize * cnt;
     430                                        data_write -= len;
    430431                                        goto retry_write;
    431432                                } else if (type == HR_BD_WRITE) {
    432                                         data_read -= vol->bsize * cnt;
     433                                        data_read -= len;
    433434                                        goto retry_read;
    434435                                }
Note: See TracChangeset for help on using the changeset viewer.