Changeset 5d96f427 in mainline for uspace/srv/bd/hr/util.c


Ignore:
Timestamp:
2024-11-15T16:44:25Z (6 months ago)
Author:
Miroslav Cimerman <mc@…>
Children:
733564a
Parents:
bd51105
git-author:
Miroslav Cimerman <mc@…> (2024-11-15 16:08:11)
git-committer:
Miroslav Cimerman <mc@…> (2024-11-15 16:44:25)
Message:

hr: use DPRINTF and ERR_PRINTF macros from util.h

File:
1 edited

Legend:

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

    rbd51105 r5d96f427  
    5050errno_t hr_init_devs(hr_volume_t *vol)
    5151{
    52         log_msg(LOG_DEFAULT, LVL_NOTE, "hr_init_devs()");
     52        DPRINTF("hr_init_devs()\n");
    5353
    5454        errno_t rc;
    5555        size_t i;
    56 
    57         for (i = 0; i < vol->dev_no; i++) {
    58                 if (vol->extents[i].svc_id == 0) {
    59                         vol->extents[i].status = HR_EXT_MISSING;
    60                         continue;
    61                 }
    62                 rc = block_init(vol->extents[i].svc_id);
    63                 vol->extents[i].status = HR_EXT_ONLINE;
    64                 log_msg(LOG_DEFAULT, LVL_DEBUG,
    65                     "hr_init_devs(): initing (%" PRIun ")",
    66                     vol->extents[i].svc_id);
     56        hr_extent_t *extent;
     57
     58        for (i = 0; i < vol->dev_no; i++) {
     59                extent = &vol->extents[i];
     60                if (extent->svc_id == 0) {
     61                        extent->status = HR_EXT_MISSING;
     62                        continue;
     63                }
     64
     65                DPRINTF("hr_init_devs(): block_init() on (%lu)\n",
     66                    extent->svc_id);
     67                rc = block_init(extent->svc_id);
     68                extent->status = HR_EXT_ONLINE;
     69
    6770                if (rc != EOK) {
    68                         log_msg(LOG_DEFAULT, LVL_ERROR,
    69                             "hr_init_devs(): initing (%" PRIun ") failed, aborting",
     71                        ERR_PRINTF("hr_init_devs(): initing (%lu) failed, "
     72                            "aborting\n", extent->svc_id);
     73                        break;
     74                }
     75        }
     76
     77        return rc;
     78}
     79
     80void hr_fini_devs(hr_volume_t *vol)
     81{
     82        DPRINTF("hr_fini_devs()\n");
     83
     84        size_t i;
     85
     86        for (i = 0; i < vol->dev_no; i++) {
     87                if (vol->extents[i].status != HR_EXT_MISSING) {
     88                        DPRINTF("hr_fini_devs(): block_fini() on (%lu)\n",
    7089                            vol->extents[i].svc_id);
    71                         break;
    72                 }
    73         }
    74 
    75         return rc;
    76 }
    77 
    78 void hr_fini_devs(hr_volume_t *vol)
    79 {
    80         log_msg(LOG_DEFAULT, LVL_NOTE, "hr_fini_devs()");
    81 
    82         size_t i;
    83 
    84         for (i = 0; i < vol->dev_no; i++)
    85                 if (vol->extents[i].status != HR_EXT_MISSING)
    8690                        block_fini(vol->extents[i].svc_id);
    87 }
    88 
    89 errno_t hr_register_volume(hr_volume_t *new_volume)
    90 {
    91         log_msg(LOG_DEFAULT, LVL_NOTE, "hr_register_volume()");
     91                }
     92        }
     93}
     94
     95errno_t hr_register_volume(hr_volume_t *vol)
     96{
     97        DPRINTF("hr_register_volume()\n");
    9298
    9399        errno_t rc;
     
    95101        category_id_t cat_id;
    96102        char *fullname = NULL;
    97 
    98         if (asprintf(&fullname, "devices/%s", new_volume->devname) < 0)
     103        char *devname = vol->devname;
     104
     105        if (asprintf(&fullname, "devices/%s", devname) < 0)
    99106                return ENOMEM;
    100107
    101108        rc = loc_service_register(hr_srv, fullname, &new_id);
    102109        if (rc != EOK) {
    103                 log_msg(LOG_DEFAULT, LVL_ERROR,
    104                     "unable to register device \"%s\": %s\n",
    105                     new_volume->devname, str_error(rc));
     110                ERR_PRINTF("unable to register device \"%s\": %s\n",
     111                    fullname, str_error(rc));
    106112                goto error;
    107113        }
     
    109115        rc = loc_category_get_id("raid", &cat_id, IPC_FLAG_BLOCKING);
    110116        if (rc != EOK) {
    111                 log_msg(LOG_DEFAULT, LVL_ERROR,
    112                     "failed resolving category \"raid\": %s\n", str_error(rc));
     117                ERR_PRINTF("failed resolving category \"raid\": %s\n",
     118                    str_error(rc));
    113119                goto error;
    114120        }
     
    116122        rc = loc_service_add_to_cat(hr_srv, new_id, cat_id);
    117123        if (rc != EOK) {
    118                 log_msg(LOG_DEFAULT, LVL_ERROR,
    119                     "failed adding \"%s\" to category \"raid\": %s\n",
    120                     new_volume->devname, str_error(rc));
     124                ERR_PRINTF("failed adding \"%s\" to category \"raid\": %s\n",
     125                    fullname, str_error(rc));
    121126                goto error;
    122127        }
    123128
    124         new_volume->svc_id = new_id;
     129        vol->svc_id = new_id;
    125130
    126131error:
     
    131136errno_t hr_check_devs(hr_volume_t *vol, uint64_t *rblkno, size_t *rbsize)
    132137{
    133         log_msg(LOG_DEFAULT, LVL_NOTE, "hr_check_devs()");
     138        DPRINTF("hr_check_devs()\n");
    134139
    135140        errno_t rc;
     
    139144        uint64_t last_nblocks = 0;
    140145        uint64_t total_blocks = 0;
    141 
    142         for (i = 0; i < vol->dev_no; i++) {
    143                 if (vol->extents[i].status == HR_EXT_MISSING)
    144                         continue;
    145                 rc = block_get_nblocks(vol->extents[i].svc_id, &nblocks);
     146        hr_extent_t *extent;
     147
     148        for (i = 0; i < vol->dev_no; i++) {
     149                extent = &vol->extents[i];
     150                if (extent->status == HR_EXT_MISSING)
     151                        continue;
     152                rc = block_get_nblocks(extent->svc_id, &nblocks);
    146153                if (rc != EOK)
    147154                        goto error;
    148155                if (last_nblocks != 0 && nblocks != last_nblocks) {
    149                         log_msg(LOG_DEFAULT, LVL_ERROR,
    150                             "number of blocks differs");
     156                        ERR_PRINTF("number of blocks differs\n");
    151157                        rc = EINVAL;
    152158                        goto error;
    153159                }
     160
    154161                total_blocks += nblocks;
    155162                last_nblocks = nblocks;
     
    157164
    158165        for (i = 0; i < vol->dev_no; i++) {
    159                 if (vol->extents[i].status == HR_EXT_MISSING)
    160                         continue;
    161                 rc = block_get_bsize(vol->extents[i].svc_id, &bsize);
     166                extent = &vol->extents[i];
     167                if (extent->status == HR_EXT_MISSING)
     168                        continue;
     169                rc = block_get_bsize(extent->svc_id, &bsize);
    162170                if (rc != EOK)
    163171                        goto error;
    164172                if (last_bsize != 0 && bsize != last_bsize) {
    165                         log_msg(LOG_DEFAULT, LVL_ERROR, "block sizes differ");
     173                        ERR_PRINTF("block sizes differ\n");
    166174                        rc = EINVAL;
    167175                        goto error;
    168176                }
     177
    169178                last_bsize = bsize;
    170179        }
    171180
    172181        if ((bsize % 512) != 0) {
    173                 log_msg(LOG_DEFAULT, LVL_ERROR,
    174                     "block size not multiple of 512");
     182                ERR_PRINTF("block size not multiple of 512\n");
    175183                return EINVAL;
    176184        }
Note: See TracChangeset for help on using the changeset viewer.