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


Quelle  config.h   Sprache: C

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


#ifndef UDS_CONFIG_H
#define UDS_CONFIG_H

#include "geometry.h"
#include "indexer.h"
#include "io-factory.h"

/*
 * The uds_configuration records a variety of parameters used to configure a new UDS index. Some
 * parameters are provided by the client, while others are fixed or derived from user-supplied
 * values. It is created when an index is created, and it is recorded in the index metadata.
 */


enum {
 DEFAULT_VOLUME_INDEX_MEAN_DELTA = 4096,
 DEFAULT_CACHE_CHAPTERS = 7,
 DEFAULT_SPARSE_SAMPLE_RATE = 32,
 MAX_ZONES = 16,
};

/* A set of configuration parameters for the indexer. */
struct uds_configuration {
 /* Storage device for the index */
 struct block_device *bdev;

 /* The maximum allowable size of the index */
 size_t size;

 /* The offset where the index should start */
 off_t offset;

 /* Parameters for the volume */

 /* The volume layout */
 struct index_geometry *geometry;

 /* Index owner's nonce */
 u64 nonce;

 /* The number of threads used to process index requests */
 unsigned int zone_count;

 /* The number of threads used to read volume pages */
 unsigned int read_threads;

 /* Size of the page cache and sparse chapter index cache in chapters */
 u32 cache_chapters;

 /* Parameters for the volume index */

 /* The mean delta for the volume index */
 u32 volume_index_mean_delta;

 /* Sampling rate for sparse indexing */
 u32 sparse_sample_rate;
};

/* On-disk structure of data for a version 8.02 index. */
struct uds_configuration_8_02 {
 /* Smaller (16), Small (64) or large (256) indices */
 u32 record_pages_per_chapter;
 /* Total number of chapters per volume */
 u32 chapters_per_volume;
 /* Number of sparse chapters per volume */
 u32 sparse_chapters_per_volume;
 /* Size of the page cache, in chapters */
 u32 cache_chapters;
 /* Unused field */
 u32 unused;
 /* The volume index mean delta to use */
 u32 volume_index_mean_delta;
 /* Size of a page, used for both record pages and index pages */
 u32 bytes_per_page;
 /* Sampling rate for sparse indexing */
 u32 sparse_sample_rate;
 /* Index owner's nonce */
 u64 nonce;
 /* Virtual chapter remapped from physical chapter 0 */
 u64 remapped_virtual;
 /* New physical chapter which remapped chapter was moved to */
 u64 remapped_physical;
} __packed;

/* On-disk structure of data for a version 6.02 index. */
struct uds_configuration_6_02 {
 /* Smaller (16), Small (64) or large (256) indices */
 u32 record_pages_per_chapter;
 /* Total number of chapters per volume */
 u32 chapters_per_volume;
 /* Number of sparse chapters per volume */
 u32 sparse_chapters_per_volume;
 /* Size of the page cache, in chapters */
 u32 cache_chapters;
 /* Unused field */
 u32 unused;
 /* The volume index mean delta to use */
 u32 volume_index_mean_delta;
 /* Size of a page, used for both record pages and index pages */
 u32 bytes_per_page;
 /* Sampling rate for sparse indexing */
 u32 sparse_sample_rate;
 /* Index owner's nonce */
 u64 nonce;
} __packed;

int __must_check uds_make_configuration(const struct uds_parameters *params,
     struct uds_configuration **config_ptr);

void uds_free_configuration(struct uds_configuration *config);

int __must_check uds_validate_config_contents(struct buffered_reader *reader,
           struct uds_configuration *config);

int __must_check uds_write_config_contents(struct buffered_writer *writer,
        struct uds_configuration *config, u32 version);

void uds_log_configuration(struct uds_configuration *config);

#endif /* UDS_CONFIG_H */

Messung V0.5
C=93 H=88 G=90

¤ 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