Changeset eabc094c in mainline


Ignore:
Timestamp:
2025-06-09T21:11:16Z (3 days ago)
Author:
Miroslav Cimerman <mc@…>
Children:
0fce1a6
Parents:
f34568c
Message:

hr: add superblock erasure op

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

Legend:

Unmodified
Added
Removed
  • uspace/srv/bd/hr/metadata/native.c

    rf34568c reabc094c  
    6060static errno_t meta_native_get_block(service_id_t, void **);
    6161static errno_t meta_native_write_block(service_id_t, const void *);
     62static errno_t meta_native_erase_block(service_id_t);
    6263static bool meta_native_has_valid_magic(const void *);
    6364static bool meta_native_compare_uuids(const void *, const void *);
     
    8081        .get_block = meta_native_get_block,
    8182        .write_block = meta_native_write_block,
     83        .erase_block = meta_native_erase_block,
    8284        .has_valid_magic = meta_native_has_valid_magic,
    8385        .compare_uuids = meta_native_compare_uuids,
     
    322324}
    323325
     326static errno_t meta_native_erase_block(service_id_t dev)
     327{
     328        HR_DEBUG("%s()", __func__);
     329
     330        errno_t rc;
     331        size_t bsize;
     332
     333        rc = block_get_bsize(dev, &bsize);
     334        if (rc != EOK)
     335                return rc;
     336
     337        void *zero_block = calloc(1, bsize);
     338        if (zero_block == NULL)
     339                return ENOMEM;
     340
     341        rc = meta_native_write_block(dev, zero_block);
     342        return rc;
     343}
     344
    324345static bool meta_native_has_valid_magic(const void *md_v)
    325346{
  • uspace/srv/bd/hr/superblock.h

    rf34568c reabc094c  
    5151        errno_t (*get_block)(service_id_t, void **);
    5252        errno_t (*write_block)(service_id_t, const void *);
     53        errno_t (*erase_block)(service_id_t);
    5354        bool (*has_valid_magic)(const void *);
    5455        bool (*compare_uuids)(const void *, const void *);
Note: See TracChangeset for help on using the changeset viewer.