Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  io-factory.h   Sprache: C

 
/* SPDX-License-Identifier: GPL-2.0-only */
/*
 * Copyright 2023 Red Hat
 */


#ifndef UDS_IO_FACTORY_H
#define UDS_IO_FACTORY_H

#include <linux/dm-bufio.h>

/*
 * The I/O factory manages all low-level I/O operations to the underlying storage device. Its main
 * clients are the index layout and the volume. The buffered reader and buffered writer interfaces
 * are helpers for accessing data in a contiguous range of storage blocks.
 */


struct buffered_reader;
struct buffered_writer;

struct io_factory;

enum {
 UDS_BLOCK_SIZE = 4096,
 SECTORS_PER_BLOCK = UDS_BLOCK_SIZE >> SECTOR_SHIFT,
};

int __must_check uds_make_io_factory(struct block_device *bdev,
         struct io_factory **factory_ptr);

int __must_check uds_replace_storage(struct io_factory *factory,
         struct block_device *bdev);

void uds_put_io_factory(struct io_factory *factory);

size_t __must_check uds_get_writable_size(struct io_factory *factory);

int __must_check uds_make_bufio(struct io_factory *factory, off_t block_offset,
    size_t block_size, unsigned int reserved_buffers,
    struct dm_bufio_client **client_ptr);

int __must_check uds_make_buffered_reader(struct io_factory *factory, off_t offset,
       u64 block_count,
       struct buffered_reader **reader_ptr);

void uds_free_buffered_reader(struct buffered_reader *reader);

int __must_check uds_read_from_buffered_reader(struct buffered_reader *reader, u8 *data,
            size_t length);

int __must_check uds_verify_buffered_data(struct buffered_reader *reader, const u8 *value,
       size_t length);

int __must_check uds_make_buffered_writer(struct io_factory *factory, off_t offset,
       u64 block_count,
       struct buffered_writer **writer_ptr);

void uds_free_buffered_writer(struct buffered_writer *buffer);

int __must_check uds_write_to_buffered_writer(struct buffered_writer *writer,
           const u8 *data, size_t length);

int __must_check uds_flush_buffered_writer(struct buffered_writer *writer);

#endif /* UDS_IO_FACTORY_H */

Messung V0.5
C=96 H=97 G=96

¤ Dauer der Verarbeitung: 0.1 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge