mirror of
git://sourceware.org/git/lvm2.git
synced 2024-10-05 03:49:50 +03:00
cleanup: typos in comments
Collection of typos in code comments. Should have no runtime effect.
This commit is contained in:
parent
7da47cea35
commit
39b7d1ba8f
@ -30,10 +30,10 @@ struct dm_hash_table {
|
||||
unsigned num_nodes;
|
||||
unsigned num_hint;
|
||||
unsigned mask_slots; /* (slots - 1) -> used as hash mask */
|
||||
unsigned collisions; /* Collissions of hash keys */
|
||||
unsigned collisions; /* Collisions of hash keys */
|
||||
unsigned search; /* How many keys were searched */
|
||||
unsigned found; /* How many nodes were found */
|
||||
unsigned same_hash; /* Was there a colision with same masked hash and len ? */
|
||||
unsigned same_hash; /* Was there a collision with same masked hash and len ? */
|
||||
struct dm_hash_node **slots;
|
||||
};
|
||||
|
||||
@ -348,7 +348,7 @@ int dm_hash_insert_allow_multiple(struct dm_hash_table *t, const char *key,
|
||||
|
||||
/*
|
||||
* Look through multiple entries with the same key for one that has a
|
||||
* matching val and return that. If none have maching val, return NULL.
|
||||
* matching val and return that. If none have matching val, return NULL.
|
||||
*/
|
||||
void *dm_hash_lookup_with_val(struct dm_hash_table *t, const char *key,
|
||||
const void *val, uint32_t val_len)
|
||||
|
@ -21,7 +21,7 @@
|
||||
* compile (using outdir 'cov'):
|
||||
* cov-build --dir=cov make CC=gcc
|
||||
*
|
||||
* analyze (agressively, using 'cov')
|
||||
* analyze (aggressively, using 'cov')
|
||||
* cov-analyze --dir cov --wait-for-license --hfa --concurrency --enable-fnptr --enable-constraint-fpp --security --all --aggressiveness-level=high --field-offset-escape --user-model-file=coverity/coverity_model.xml
|
||||
*
|
||||
* generate html output (to 'html' from 'cov'):
|
||||
@ -70,7 +70,7 @@ void *memccpy(void *dest, const void *src, int c, size_t n)
|
||||
}
|
||||
|
||||
/*
|
||||
* 2 lines bellow needs to be placed in coverity/config/user_nodefs.h
|
||||
* 2 lines below needs to be placed in coverity/config/user_nodefs.h
|
||||
* Not sure about any other way.
|
||||
* Without them, coverity shows warning since x86 system header files
|
||||
* are using inline assembly to reset fdset
|
||||
|
@ -279,7 +279,7 @@ static int handle_cluster_request(struct clog_cpg *entry __attribute__((unused))
|
||||
* With resumes, we only handle our own.
|
||||
* Resume is a special case that requires
|
||||
* local action (to set up CPG), followed by
|
||||
* a cluster action to co-ordinate reading
|
||||
* a cluster action to coordinate reading
|
||||
* the disk and checkpointing
|
||||
*/
|
||||
if (tmp->u_rq.request_type == DM_ULOG_RESUME) {
|
||||
|
@ -254,7 +254,7 @@ static int read_log(struct log_c *lc)
|
||||
bitset_size = lc->region_count / 8;
|
||||
bitset_size += (lc->region_count % 8) ? 1 : 0;
|
||||
|
||||
/* 'lc->clean_bits + 1' becasue dm_bitset_t leads with a uint32_t */
|
||||
/* 'lc->clean_bits + 1' because dm_bitset_t leads with a uint32_t */
|
||||
memcpy(lc->clean_bits + 1, (char *)lc->disk_buffer + 1024, bitset_size);
|
||||
|
||||
return 0;
|
||||
@ -281,7 +281,7 @@ static int write_log(struct log_c *lc)
|
||||
bitset_size = lc->region_count / 8;
|
||||
bitset_size += (lc->region_count % 8) ? 1 : 0;
|
||||
|
||||
/* 'lc->clean_bits + 1' becasue dm_bitset_t leads with a uint32_t */
|
||||
/* 'lc->clean_bits + 1' because dm_bitset_t leads with a uint32_t */
|
||||
memcpy((char *)lc->disk_buffer + 1024, lc->clean_bits + 1, bitset_size);
|
||||
|
||||
if (rw_log(lc, 1)) {
|
||||
@ -927,7 +927,7 @@ int local_resume(struct dm_ulog_request *rq)
|
||||
*
|
||||
* Since this value doesn't change, the kernel
|
||||
* should not need to talk to server to get this
|
||||
* The function is here for completness
|
||||
* The function is here for completeness
|
||||
*
|
||||
* Returns: 0 on success, -EXXX on failure
|
||||
*/
|
||||
@ -1018,7 +1018,7 @@ static int clog_in_sync(struct dm_ulog_request *rq)
|
||||
* happen for reads is that additional read attempts may be
|
||||
* taken.
|
||||
*
|
||||
* Futher investigation may be required to determine if there are
|
||||
* Further investigation may be required to determine if there are
|
||||
* similar possible outcomes when the mirror is in the process of
|
||||
* recovering. In that case, lc->in_sync would not have been set
|
||||
* yet.
|
||||
|
@ -236,7 +236,7 @@ struct thread_status {
|
||||
int status; /* See DM_THREAD_{REGISTERING,RUNNING,DONE} */
|
||||
|
||||
int events; /* bitfield for event filter. */
|
||||
int current_events; /* bitfield for occured events. */
|
||||
int current_events; /* bitfield for occurred events. */
|
||||
struct dm_task *wait_task;
|
||||
int pending; /* Set when event filter change is pending */
|
||||
time_t next_time;
|
||||
@ -427,7 +427,7 @@ static struct thread_status *_alloc_thread_status(const struct message_data *dat
|
||||
if (!(thread->device.name = strdup(data->device_uuid)))
|
||||
goto_out;
|
||||
|
||||
/* runs ioctl and may register lvm2 pluging */
|
||||
/* runs ioctl and may register lvm2 plugin */
|
||||
thread->processing = 1;
|
||||
thread->status = DM_THREAD_REGISTERING;
|
||||
|
||||
@ -520,7 +520,7 @@ static int _fetch_string(char **ptr, char **src, const int delimiter)
|
||||
*p = delimiter;
|
||||
*src = p;
|
||||
}
|
||||
(*src)++; /* Skip delmiter, next field */
|
||||
(*src)++; /* Skip delimiter, next field */
|
||||
} else if ((len = strlen(*src))) {
|
||||
/* No delimiter, item ends with '\0' */
|
||||
if (!(*ptr = strdup(*src))) {
|
||||
|
@ -404,7 +404,7 @@ int daemon_talk(struct dm_event_fifos *fifos,
|
||||
/*
|
||||
* Check for usable client fifo file
|
||||
*
|
||||
* Returns: 2 cliant path does not exists, dmeventd should be restarted
|
||||
* Returns: 2 client path does not exists, dmeventd should be restarted
|
||||
* 1 on success, 0 otherwise
|
||||
*/
|
||||
static int _check_for_usable_fifos(char *dmeventd_path, struct dm_event_fifos *fifos)
|
||||
@ -1007,7 +1007,7 @@ void dm_event_log(const char *subsys, int level, const char *file,
|
||||
|
||||
static char *_skip_string(char *src, const int delimiter)
|
||||
{
|
||||
src = srtchr(src, delimiter);
|
||||
src = strchr(src, delimiter);
|
||||
if (src && *(src + 1))
|
||||
return src + 1;
|
||||
return NULL;
|
||||
|
@ -41,7 +41,7 @@ enum dm_event_mask {
|
||||
|
||||
DM_EVENT_STATUS_MASK = 0xFF0000,
|
||||
DM_EVENT_SYNC_STATUS = 0x010000, /* Mirror synchronization completed/failed. */
|
||||
DM_EVENT_TIMEOUT = 0x020000, /* Timeout has occured */
|
||||
DM_EVENT_TIMEOUT = 0x020000, /* Timeout has occurred */
|
||||
|
||||
DM_EVENT_REGISTRATION_PENDING = 0x1000000, /* Monitor thread is setting-up/shutting-down */
|
||||
};
|
||||
@ -109,7 +109,7 @@ int dm_event_unregister_handler(const struct dm_event_handler *dmevh);
|
||||
/* Set debug level for logging, and whether to log on stdout/stderr or syslog */
|
||||
void dm_event_log_set(int debug_log_level, int use_syslog);
|
||||
|
||||
/* Log messages acroding to current debug level */
|
||||
/* Log messages according to current debug level */
|
||||
__attribute__((format(printf, 6, 0)))
|
||||
void dm_event_log(const char *subsys, int level, const char *file,
|
||||
int line, int dm_errno_or_class,
|
||||
|
@ -38,7 +38,7 @@ static void _process_status_code(dm_status_mirror_health_t health,
|
||||
* A => Alive - No failures
|
||||
* D => Dead - A write failure occurred leaving mirror out-of-sync
|
||||
* F => Flush failed.
|
||||
* S => Sync - A sychronization failure occurred, mirror out-of-sync
|
||||
* S => Sync - A synchronization failure occurred, mirror out-of-sync
|
||||
* R => Read - A read failure occurred, mirror data unaffected
|
||||
* U => Unclassified failure (bug)
|
||||
*/
|
||||
|
@ -17,7 +17,7 @@
|
||||
#include "daemons/dmeventd/libdevmapper-event.h"
|
||||
#include "lib/config/defaults.h"
|
||||
|
||||
/* Hold enough elements for the mximum number of RAID images */
|
||||
/* Hold enough elements for the maximum number of RAID images */
|
||||
#define RAID_DEVS_ELEMS ((DEFAULT_RAID_MAX_IMAGES + 63) / 64)
|
||||
|
||||
struct dso_state {
|
||||
|
@ -87,7 +87,7 @@ static int _run_command(struct dso_state *state)
|
||||
log_verbose("Executing command: %s", state->cmd_str);
|
||||
|
||||
/* TODO:
|
||||
* Support parallel run of 'task' and it's waitpid maintainence
|
||||
* Support parallel run of 'task' and it's waitpid maintenance
|
||||
* ATM we can't handle signaling of SIGALRM
|
||||
* as signalling is not allowed while 'process_event()' is running
|
||||
*/
|
||||
@ -245,7 +245,7 @@ void process_event(struct dm_task *dmt,
|
||||
/*
|
||||
* Trigger action when threshold boundary is exceeded.
|
||||
* Report 80% threshold warning when it's used above 80%.
|
||||
* Only 100% is exception as it cannot be surpased so policy
|
||||
* Only 100% is exception as it cannot be surpassed so policy
|
||||
* action is called for: >50%, >55% ... >95%, 100%
|
||||
*/
|
||||
state->metadata_percent = dm_make_percent(tps->used_metadata_blocks, tps->total_metadata_blocks);
|
||||
@ -379,7 +379,7 @@ int register_device(const char *device,
|
||||
|
||||
state->argv[1] = str + 1; /* 1 argument - vg/lv */
|
||||
_init_thread_signals(state);
|
||||
} else /* Unuspported command format */
|
||||
} else /* Unsupported command format */
|
||||
goto inval;
|
||||
|
||||
state->pid = -1;
|
||||
|
@ -19,7 +19,7 @@
|
||||
/*
|
||||
* Use parser from new device_mapper library.
|
||||
* Although during compilation we can see dm_vdo_status_parse()
|
||||
* in runtime we are linked agains systems libdm 'older' library
|
||||
* in runtime we are linked against systems libdm 'older' library
|
||||
* which does not provide this symbol and plugin fails to load
|
||||
*/
|
||||
/* coverity[unnecessary_header] used for parsing */
|
||||
@ -78,7 +78,7 @@ static int _run_command(struct dso_state *state)
|
||||
log_verbose("Executing command: %s", state->cmd_str);
|
||||
|
||||
/* TODO:
|
||||
* Support parallel run of 'task' and it's waitpid maintainence
|
||||
* Support parallel run of 'task' and it's waitpid maintenance
|
||||
* ATM we can't handle signaling of SIGALRM
|
||||
* as signalling is not allowed while 'process_event()' is running
|
||||
*/
|
||||
@ -227,7 +227,7 @@ void process_event(struct dm_task *dmt,
|
||||
/*
|
||||
* Trigger action when threshold boundary is exceeded.
|
||||
* Report 80% threshold warning when it's used above 80%.
|
||||
* Only 100% is exception as it cannot be surpased so policy
|
||||
* Only 100% is exception as it cannot be surpassed so policy
|
||||
* action is called for: >50%, >55% ... >95%, 100%
|
||||
*/
|
||||
if ((state->percent > WARNING_THRESH) &&
|
||||
@ -354,7 +354,7 @@ int register_device(const char *device,
|
||||
_init_thread_signals(state);
|
||||
} else if (cmd[0] == 0) {
|
||||
state->name = "volume"; /* What to use with 'others?' */
|
||||
} else/* Unuspported command format */
|
||||
} else/* Unsupported command format */
|
||||
goto inval;
|
||||
|
||||
state->pid = -1;
|
||||
|
@ -67,7 +67,7 @@ def lvs_state_retrieve(selection, cache_refresh=True):
|
||||
|
||||
try:
|
||||
# When building up the model, it's best to process LVs with the least
|
||||
# dependencies to those that are dependant upon other LVs. Otherwise, when
|
||||
# dependencies to those that are dependent upon other LVs. Otherwise, when
|
||||
# we are trying to gather information we could be in a position where we
|
||||
# don't have information available yet.
|
||||
lvs = sorted(cfg.db.fetch_lvs(selection), key=get_key)
|
||||
|
@ -351,7 +351,7 @@ class DataStore(object):
|
||||
else:
|
||||
rc = []
|
||||
for s in pv_name:
|
||||
# Ths user could be using a symlink instead of the actual
|
||||
# The user could be using a symlink instead of the actual
|
||||
# block device, make sure we are using actual block device file
|
||||
# if the pv name isn't in the lookup
|
||||
if s not in self.pv_path_to_uuid:
|
||||
|
@ -160,7 +160,7 @@ class ObjectManager(AutomatedProperties):
|
||||
# (path, dbus_object.lvm_id))
|
||||
|
||||
# We want fast access to the object by a number of different ways,
|
||||
# so we use multiple hashs with different keys
|
||||
# so we use multiple hashes with different keys
|
||||
self._lookup_add(dbus_object, path, dbus_object.lvm_id,
|
||||
dbus_object.Uuid)
|
||||
|
||||
|
@ -78,7 +78,7 @@ static int str_to_mode(const char *str);
|
||||
* . Other misc actions are are passed to the worker_thread:
|
||||
* add_work_action(act).
|
||||
*
|
||||
* Onec the client_thread has passed the action off to another
|
||||
* Once the client_thread has passed the action off to another
|
||||
* thread to process, it goes back to waiting for more client
|
||||
* handling work to do.
|
||||
*
|
||||
@ -1413,7 +1413,7 @@ static int res_lock(struct lockspace *ls, struct resource *r, struct action *act
|
||||
* It can be lost during dlm recovery when the master node
|
||||
* is removed.
|
||||
*
|
||||
* If we're the next to write the lvb, reinitialze it to the
|
||||
* If we're the next to write the lvb, reinitialize it to the
|
||||
* new VG seqno, or a new GL counter larger than was seen by
|
||||
* any hosts before (how to estimate that?)
|
||||
*
|
||||
@ -2798,7 +2798,7 @@ out_rem:
|
||||
* operating under the assumption that they hold the lock.
|
||||
* drop_vg drops all existing locks, but should only
|
||||
* happen when the VG access has been forcibly and
|
||||
* succesfully terminated.
|
||||
* successfully terminated.
|
||||
*
|
||||
* For vgremove of a sanlock vg, the vg lock will be held,
|
||||
* and possibly the gl lock if this vg holds the gl.
|
||||
@ -3042,7 +3042,7 @@ static int add_lockspace_thread(const char *ls_name,
|
||||
ls->start_client_id = act->client_id;
|
||||
|
||||
/*
|
||||
* Copy PV list to lockspact structure, so this is
|
||||
* Copy PV list to lockspace structure, so this is
|
||||
* used for VG locking for idm scheme.
|
||||
*/
|
||||
if (lm_type == LD_LM_IDM &&
|
||||
@ -3287,7 +3287,7 @@ static int add_lockspace(struct action *act)
|
||||
|
||||
/*
|
||||
* vgchange --lock-stop vgname will lock the vg ex, then send a stop,
|
||||
* so we exect to find the ex vg lock held here, and will automatically
|
||||
* so we expect to find the ex vg lock held here, and will automatically
|
||||
* unlock it when stopping.
|
||||
*
|
||||
* Should we attempt to stop the lockspace containing the gl last?
|
||||
@ -4026,7 +4026,7 @@ static int client_send_result(struct client *cl, struct action *act)
|
||||
* The lockspace could not be found, in which case
|
||||
* the caller may want to know if any lockspaces exist
|
||||
* or if lockspaces exist, but not one with the global lock.
|
||||
* Given this detail, it may be able to procede without
|
||||
* Given this detail, it may be able to proceed without
|
||||
* the lock.
|
||||
*/
|
||||
pthread_mutex_lock(&lockspaces_mutex);
|
||||
|
@ -364,7 +364,7 @@ static void lm_idm_update_vb_timestamp(uint64_t *vb_timestamp)
|
||||
|
||||
/*
|
||||
* It's possible that the multiple nodes have no clock
|
||||
* synchronization with microsecond prcision and the time
|
||||
* synchronization with microsecond precision and the time
|
||||
* is going backward. For this case, simply increment the
|
||||
* existing timestamp and write out to drive.
|
||||
*/
|
||||
|
@ -106,7 +106,7 @@ which:
|
||||
1. Uses syslog to explain what is happening.
|
||||
|
||||
2. Notifies lvmlockd that the VG is being killed, so lvmlockd can
|
||||
immediatley return an error for this condition if any new lock
|
||||
immediately return an error for this condition if any new lock
|
||||
requests are made. (This step would not be strictly necessary.)
|
||||
|
||||
3. Attempts to quit using the VG. This is not yet implemented, but
|
||||
@ -136,7 +136,7 @@ release all the leases for the VG.
|
||||
* from each pid: signals due to a sanlock_request, and
|
||||
* acquire/release/convert/inquire. The later can probably be
|
||||
* addressed with a flag to indicate that the pid field should be
|
||||
* interpretted as 'ci' (which the caller would need to figure
|
||||
* interpreted as 'ci' (which the caller would need to figure
|
||||
* out somehow.)
|
||||
*/
|
||||
|
||||
|
@ -278,7 +278,7 @@ static void _pdlv_locked_dump(struct buffer *buff, const struct lvmpolld_lv *pdl
|
||||
if (dm_snprintf(tmp, sizeof(tmp), "\t\tinit_requests_count=%d\n", pdlv->init_rq_count) > 0)
|
||||
buffer_append(buff, tmp);
|
||||
|
||||
/* lvm_commmand-section { */
|
||||
/* lvm_command-section { */
|
||||
buffer_append(buff, "\t\tlvm_command {\n");
|
||||
if (cmd_state->retcode == -1 && !cmd_state->signal)
|
||||
buffer_append(buff, "\t\t\tstate=\"" LVMPD_RESP_IN_PROGRESS "\"\n");
|
||||
@ -290,7 +290,7 @@ static void _pdlv_locked_dump(struct buffer *buff, const struct lvmpolld_lv *pdl
|
||||
buffer_append(buff, tmp);
|
||||
}
|
||||
buffer_append(buff, "\t\t}\n");
|
||||
/* } lvm_commmand-section */
|
||||
/* } lvm_command-section */
|
||||
|
||||
buffer_append(buff, "\t}\n");
|
||||
/* } pdlv-section */
|
||||
|
@ -68,7 +68,7 @@ struct lvmpolld_lv {
|
||||
struct lvmpolld_cmd_stat cmd_state;
|
||||
unsigned init_rq_count; /* for debugging purposes only */
|
||||
unsigned polling_finished:1; /* no more updates */
|
||||
unsigned error:1; /* unrecoverable error occured in lvmpolld */
|
||||
unsigned error:1; /* unrecoverable error occurred in lvmpolld */
|
||||
};
|
||||
|
||||
typedef void (*lvmpolld_parse_output_fn_t) (struct lvmpolld_lv *pdlv, const char *line);
|
||||
|
@ -45,7 +45,7 @@
|
||||
#define LVMPD_RESP_OK "OK"
|
||||
|
||||
#define LVMPD_REAS_RETCODE "retcode" /* lvm cmd ret code */
|
||||
#define LVMPD_REAS_SIGNAL "signal" /* lvm cmd terminating singal */
|
||||
#define LVMPD_REAS_SIGNAL "signal" /* lvm cmd terminating signal */
|
||||
|
||||
#define LVMPD_RET_DUP_FAILED 100
|
||||
#define LVMPD_RET_EXC_FAILED 101
|
||||
|
@ -304,15 +304,15 @@ int dm_task_add_target(struct dm_task *dmt,
|
||||
#define DM_FORMAT_DEV_BUFSIZE 13 /* Minimum bufsize to handle worst case. */
|
||||
int dm_format_dev(char *buf, int bufsize, uint32_t dev_major, uint32_t dev_minor);
|
||||
|
||||
/* Use this to retrive target information returned from a STATUS call */
|
||||
/* Use this to retrieve target information returned from a STATUS call */
|
||||
void *dm_get_next_target(struct dm_task *dmt,
|
||||
void *next, uint64_t *start, uint64_t *length,
|
||||
char **target_type, char **params);
|
||||
|
||||
/*
|
||||
* Following dm_get_status_* functions will allocate approriate status structure
|
||||
* Following dm_get_status_* functions will allocate appropriate status structure
|
||||
* from passed mempool together with the necessary character arrays.
|
||||
* Destroying the mempool will release all asociated allocation.
|
||||
* Destroying the mempool will release all associated allocation.
|
||||
*/
|
||||
|
||||
/* Parse params from STATUS call for mirror target */
|
||||
@ -541,7 +541,7 @@ const char *dm_sysfs_dir(void);
|
||||
|
||||
/*
|
||||
* Configure default UUID prefix string.
|
||||
* Conventionally this is a short capitalised prefix indicating the subsystem
|
||||
* Conventionally this is a short capitalized prefix indicating the subsystem
|
||||
* that is managing the devices, e.g. "LVM-" or "MPATH-".
|
||||
* To support stacks of devices from different subsystems, recursive functions
|
||||
* stop recursing if they reach a device with a different prefix.
|
||||
@ -584,7 +584,7 @@ int dm_device_has_mounted_fs(uint32_t major, uint32_t minor);
|
||||
|
||||
|
||||
/*
|
||||
* Callback is invoked for individal mountinfo lines,
|
||||
* Callback is invoked for individual mountinfo lines,
|
||||
* minor, major and mount target are parsed and unmangled.
|
||||
*/
|
||||
typedef int (*dm_mountinfo_line_callback_fn) (char *line, unsigned maj, unsigned min,
|
||||
@ -698,7 +698,7 @@ void *dm_tree_node_get_context(const struct dm_tree_node *node);
|
||||
/*
|
||||
* Returns 0 when node size and its children is unchanged.
|
||||
* Returns 1 when node or any of its children has increased size.
|
||||
* Rerurns -1 when node or any of its children has reduced size.
|
||||
* Returns -1 when node or any of its children has reduced size.
|
||||
*/
|
||||
int dm_tree_node_size_changed(const struct dm_tree_node *dnode);
|
||||
|
||||
@ -885,7 +885,7 @@ struct dm_tree_node_raid_params {
|
||||
};
|
||||
|
||||
/*
|
||||
* Version 2 of above node raid params struct to keeep API compatibility.
|
||||
* Version 2 of above node raid params struct to keep API compatibility.
|
||||
*
|
||||
* Extended for more than 64 legs (max 253 in the MD kernel runtime!),
|
||||
* delta_disks for disk add/remove reshaping,
|
||||
@ -908,7 +908,7 @@ struct dm_tree_node_raid_params_v2 {
|
||||
* 'rebuilds' and 'writemostly' are bitfields that signify
|
||||
* which devices in the array are to be rebuilt or marked
|
||||
* writemostly. The kernel supports up to 253 legs.
|
||||
* We limit ourselvs by choosing a lower value
|
||||
* We limit ourselves by choosing a lower value
|
||||
* for DEFAULT_RAID_MAX_IMAGES.
|
||||
*/
|
||||
uint64_t rebuilds[RAID_BITMAP_SIZE];
|
||||
@ -945,7 +945,7 @@ struct dm_config_node;
|
||||
*
|
||||
* policy_settings {
|
||||
* migration_threshold=2048
|
||||
* sequention_threashold=100
|
||||
* sequential_threshold=100
|
||||
* ...
|
||||
* }
|
||||
*
|
||||
@ -1094,7 +1094,7 @@ int dm_tree_node_add_replicator_dev_target(struct dm_tree_node *node,
|
||||
/* End of Replicator API */
|
||||
|
||||
/*
|
||||
* FIXME: Defines bellow are based on kernel's dm-thin.c defines
|
||||
* FIXME: Defines below are based on kernel's dm-thin.c defines
|
||||
* DATA_DEV_BLOCK_SIZE_MIN_SECTORS (64 * 1024 >> SECTOR_SHIFT)
|
||||
* DATA_DEV_BLOCK_SIZE_MAX_SECTORS (1024 * 1024 * 1024 >> SECTOR_SHIFT)
|
||||
*/
|
||||
@ -1160,7 +1160,7 @@ int dm_tree_node_set_thin_pool_error_if_no_space(struct dm_tree_node *node,
|
||||
int dm_tree_node_set_thin_pool_read_only(struct dm_tree_node *node,
|
||||
unsigned read_only);
|
||||
/*
|
||||
* FIXME: Defines bellow are based on kernel's dm-thin.c defines
|
||||
* FIXME: Defines below are based on kernel's dm-thin.c defines
|
||||
* MAX_DEV_ID ((1 << 24) - 1)
|
||||
*/
|
||||
#define DM_THIN_MAX_DEVICE_ID (UINT32_C((1 << 24) - 1))
|
||||
@ -2058,7 +2058,7 @@ void dm_config_destroy(struct dm_config_tree *cft);
|
||||
|
||||
/* Simple output line by line. */
|
||||
typedef int (*dm_putline_fn)(const char *line, void *baton);
|
||||
/* More advaced output with config node reference. */
|
||||
/* More advanced output with config node reference. */
|
||||
typedef int (*dm_config_node_out_fn)(const struct dm_config_node *cn, const char *line, void *baton);
|
||||
|
||||
/*
|
||||
@ -2121,7 +2121,7 @@ struct dm_config_node *dm_config_clone_node(struct dm_config_tree *cft, const st
|
||||
* Common formatting flags applicable to all config node types (lower 16 bits).
|
||||
*/
|
||||
#define DM_CONFIG_VALUE_FMT_COMMON_ARRAY 0x00000001 /* value is array */
|
||||
#define DM_CONFIG_VALUE_FMT_COMMON_EXTRA_SPACES 0x00000002 /* add spaces in "key = value" pairs in constrast to "key=value" for better readability */
|
||||
#define DM_CONFIG_VALUE_FMT_COMMON_EXTRA_SPACES 0x00000002 /* add spaces in "key = value" pairs in contrast to "key=value" for better readability */
|
||||
|
||||
/*
|
||||
* Type-related config node formatting flags (higher 16 bits).
|
||||
|
@ -659,7 +659,7 @@ void *dm_get_next_target(struct dm_task *dmt, void *next,
|
||||
return t->next;
|
||||
}
|
||||
|
||||
/* Unmarshall the target info returned from a status call */
|
||||
/* Unmarshal the target info returned from a status call */
|
||||
static int _unmarshal_status(struct dm_task *dmt, struct dm_ioctl *dmi)
|
||||
{
|
||||
char *outbuf = (char *) dmi + dmi->data_start;
|
||||
|
@ -1796,7 +1796,7 @@ static int _mountinfo_parse_line(const char *line, unsigned *maj, unsigned *min,
|
||||
}
|
||||
|
||||
/*
|
||||
* Function to operate on individal mountinfo line,
|
||||
* Function to operate on individual mountinfo line,
|
||||
* minor, major and mount target are parsed and unmangled
|
||||
*/
|
||||
int dm_mountinfo_read(dm_mountinfo_line_callback_fn read_fn, void *cb_data)
|
||||
|
@ -265,7 +265,7 @@ struct load_properties {
|
||||
/*
|
||||
* Preload tree normally only loads and not resume, but there is
|
||||
* automatic resume when target is extended, as it's believed
|
||||
* there can be no i/o flying to this 'new' extedend space
|
||||
* there can be no i/o flying to this 'new' extended space
|
||||
* from any device above. Reason is that preloaded target above
|
||||
* may actually need to see its bigger subdevice before it
|
||||
* gets suspended. As long as devices are simple linears
|
||||
@ -277,7 +277,7 @@ struct load_properties {
|
||||
|
||||
/*
|
||||
* When comparing table lines to decide if a reload is
|
||||
* needed, ignore any differences betwen the lvm device
|
||||
* needed, ignore any differences between the lvm device
|
||||
* params and the kernel-reported device params.
|
||||
* dm-integrity reports many internal parameters on the
|
||||
* table line when lvm does not explicitly set them,
|
||||
@ -288,8 +288,8 @@ struct load_properties {
|
||||
/*
|
||||
* Call node_send_messages(), set to 2 if there are messages
|
||||
* When != 0, it validates matching transaction id, thus thin-pools
|
||||
* where transation_id is passed as 0 are never validated, this
|
||||
* allows external managment of thin-pool TID.
|
||||
* where transaction_id is passed as 0 are never validated, this
|
||||
* allows external management of thin-pool TID.
|
||||
*/
|
||||
unsigned send_messages;
|
||||
/* Skip suspending node's children, used when sending messages to thin-pool */
|
||||
@ -1816,7 +1816,7 @@ static int _dm_tree_deactivate_children(struct dm_tree_node *dnode,
|
||||
|
||||
if (info.open_count) {
|
||||
/* Skip internal non-toplevel opened nodes */
|
||||
/* On some old udev systems without corrrect udev rules
|
||||
/* On some old udev systems without correct udev rules
|
||||
* this hack avoids 'leaking' active _mimageX legs after
|
||||
* deactivation of mirror LV. Other suffixes are not added
|
||||
* since it's expected newer systems with wider range of
|
||||
@ -2182,7 +2182,7 @@ int dm_tree_activate_children(struct dm_tree_node *dnode,
|
||||
/*
|
||||
* FIXME: Implement delayed error reporting
|
||||
* activation should be stopped only in the case,
|
||||
* the submission of transation_id message fails,
|
||||
* the submission of transaction_id message fails,
|
||||
* resume should continue further, just whole command
|
||||
* has to report failure.
|
||||
*/
|
||||
@ -2274,7 +2274,7 @@ static int _build_dev_string(char *devbuf, size_t bufsize, struct dm_tree_node *
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* simplify string emiting code */
|
||||
/* simplify string emitting code */
|
||||
#define EMIT_PARAMS(p, str...)\
|
||||
do {\
|
||||
int w;\
|
||||
@ -2970,7 +2970,7 @@ static int _vdo_emit_segment_line(struct dm_task *dmt, uint32_t major, uint32_t
|
||||
* If there is already running VDO target, read 'existing' virtual size out of table line
|
||||
* and avoid reading it them from VDO metadata device
|
||||
*
|
||||
* NOTE: ATM VDO virtual size can be ONLY extended thus it's simple to recongnize 'right' size.
|
||||
* NOTE: ATM VDO virtual size can be ONLY extended thus it's simple to recognize 'right' size.
|
||||
* However if there would be supported also reduction, this check would need to check range.
|
||||
*/
|
||||
if ((vdo_dmt = dm_task_create(DM_DEVICE_TABLE))) {
|
||||
@ -3382,7 +3382,7 @@ int dm_tree_preload_children(struct dm_tree_node *dnode,
|
||||
if (!child->info.exists && !(node_created = _create_node(child, dnode)))
|
||||
return_0;
|
||||
|
||||
/* Propagate delayed resume from exteded child node */
|
||||
/* Propagate delayed resume from extended child node */
|
||||
if (child->props.delay_resume_if_extended)
|
||||
dnode->props.delay_resume_if_extended = 1;
|
||||
|
||||
@ -3818,7 +3818,7 @@ int dm_tree_node_add_raid_target(struct dm_tree_node *node,
|
||||
* - maximum 253 legs in a raid set (MD kernel limitation)
|
||||
* - delta_disks for disk add/remove reshaping
|
||||
* - data_offset for out-of-place reshaping
|
||||
* - data_copies to cope witth odd numbers of raid10 disks
|
||||
* - data_copies to cope with odd numbers of raid10 disks
|
||||
*/
|
||||
int dm_tree_node_add_raid_target_with_params_v2(struct dm_tree_node *node,
|
||||
uint64_t size,
|
||||
|
@ -459,7 +459,7 @@ static int _report_field_string_list(struct dm_report *rh,
|
||||
*
|
||||
* The very first item in the array of 'struct pos_len' is always
|
||||
* a pair denoting '[list_size,strlen(field->report_string)]'. The
|
||||
* rest of items denote start and lenght of each item in the list.
|
||||
* rest of items denote start and length of each item in the list.
|
||||
*
|
||||
*
|
||||
* For example, if we have a list with "abc", "xy", "defgh"
|
||||
@ -1396,7 +1396,7 @@ struct dm_report *dm_report_init(uint32_t *report_types,
|
||||
}
|
||||
|
||||
/*
|
||||
* Return updated types value for further compatility check by caller.
|
||||
* Return updated types value for further compatibility check by caller.
|
||||
*/
|
||||
_dm_report_init_update_types(rh, report_types);
|
||||
|
||||
@ -4025,7 +4025,7 @@ error:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* AND_EXPRESSION := EX (AND_OP AND_EXPRSSION) */
|
||||
/* AND_EXPRESSION := EX (AND_OP AND_EXPRESSION) */
|
||||
static struct selection_node *_parse_and_ex(struct dm_report *rh,
|
||||
const char *s,
|
||||
const char **next,
|
||||
|
@ -62,7 +62,7 @@
|
||||
*
|
||||
* The UUID contained in the dm_ulog_request structure is the reference that
|
||||
* will be used by all request types to a specific log. The constructor must
|
||||
* record this assotiation with the instance created.
|
||||
* record this association with the instance created.
|
||||
*
|
||||
* When the request has been processed, user-space must return the
|
||||
* dm_ulog_request to the kernel - setting the 'error' field, filling the
|
||||
|
@ -129,7 +129,7 @@ int dm_pool_locked(struct dm_pool *p)
|
||||
* Bool specifies whether to store the pool crc/hash checksum.
|
||||
*
|
||||
* \return
|
||||
* 1 (success) when the pool was preperly locked, 0 otherwise.
|
||||
* 1 (success) when the pool was properly locked, 0 otherwise.
|
||||
*/
|
||||
int dm_pool_lock(struct dm_pool *p, int crc)
|
||||
{
|
||||
|
@ -136,7 +136,7 @@ struct vdo_volume_geometry_4 {
|
||||
struct vdo_index_config index_config;
|
||||
} __packed;
|
||||
|
||||
/* Decoding mostly only some used stucture members */
|
||||
/* Decoding mostly only some used structure members */
|
||||
|
||||
static void _vdo_decode_version(struct vdo_version_number *v)
|
||||
{
|
||||
|
@ -855,7 +855,7 @@ int lv_info_with_seg_status(struct cmd_context *cmd,
|
||||
|
||||
/* Merge not yet started, still a snapshot... */
|
||||
}
|
||||
/* Hadle fictional lvm2 snapshot and query snapshotX volume */
|
||||
/* Handle fictional lvm2 snapshot and query snapshotX volume */
|
||||
lv_seg = find_snapshot(lv);
|
||||
}
|
||||
|
||||
@ -936,7 +936,7 @@ int lv_check_not_in_use(const struct logical_volume *lv, int error_if_used)
|
||||
log_debug_activation("Retrying open_count check for %s.",
|
||||
display_lvname(lv));
|
||||
if (!lv_info(lv->vg->cmd, lv, 0, &info, 1, 0) || !info.exists) {
|
||||
stack; /* device dissappeared? */
|
||||
stack; /* device disappeared? */
|
||||
return 1;
|
||||
} else if (!info.open_count)
|
||||
return 1;
|
||||
@ -1006,7 +1006,7 @@ int lv_mirror_percent(struct cmd_context *cmd, const struct logical_volume *lv,
|
||||
int r;
|
||||
struct dev_manager *dm;
|
||||
|
||||
/* If mirrored LV is temporarily shrinked to 1 area (= linear),
|
||||
/* If mirrored LV is temporarily shrunk to 1 area (= linear),
|
||||
* it should be considered in-sync. */
|
||||
if (dm_list_size(&lv->segments) == 1 && first_seg(lv)->area_count == 1) {
|
||||
*percent = DM_PERCENT_100;
|
||||
@ -2235,7 +2235,7 @@ static int _lv_suspend(struct cmd_context *cmd, const char *lvid_s,
|
||||
(pvmove_lv = find_pvmove_lv_in_lv(lv_pre))) {
|
||||
/*
|
||||
* When starting PVMOVE, suspend participating LVs first
|
||||
* with committed metadata by looking at precommited pvmove list.
|
||||
* with committed metadata by looking at precommitted pvmove list.
|
||||
* In committed metadata these LVs are not connected in any way.
|
||||
*
|
||||
* TODO: prepare list of LVs needed to be suspended and pass them
|
||||
@ -2264,7 +2264,7 @@ static int _lv_suspend(struct cmd_context *cmd, const char *lvid_s,
|
||||
log_error("lv_list alloc failed.");
|
||||
goto out;
|
||||
}
|
||||
/* Look for precommitted LV name in commmitted VG */
|
||||
/* Look for precommitted LV name in committed VG */
|
||||
if (!(lvl->lv = find_lv(lv->vg, lv_tmp->name))) {
|
||||
log_error(INTERNAL_ERROR "LV %s missing from preload metadata.",
|
||||
display_lvname(lv_tmp));
|
||||
@ -2524,7 +2524,7 @@ int lv_deactivate(struct cmd_context *cmd, const char *lvid_s, const struct logi
|
||||
|
||||
/*
|
||||
* Remove any transiently activated error
|
||||
* devices which arean't used any more.
|
||||
* devices which aren't used any more.
|
||||
*/
|
||||
if (r && lv_is_raid(lv) && !lv_deactivate_any_missing_subdevs(lv)) {
|
||||
log_error("Failed to remove temporary SubLVs from %s",
|
||||
@ -2771,7 +2771,7 @@ static int _lv_remove_any_missing_subdevs(struct logical_volume *lv)
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Remove any "*-missing_*" sub devices added by the activation layer for an rmate/rimage missing PV mapping */
|
||||
/* Remove any "*-missing_*" sub devices added by the activation layer for an rmeta/rimage missing PV mapping */
|
||||
int lv_deactivate_any_missing_subdevs(const struct logical_volume *lv)
|
||||
{
|
||||
uint32_t s;
|
||||
@ -2849,7 +2849,7 @@ static int _component_cb(struct logical_volume *lv, void *data)
|
||||
* Finds out for any LV if any of its component LVs are active.
|
||||
* Function first checks if an existing LV is visible and active eventually
|
||||
* it's lock holding LV is already active. In such case sub LV cannot be
|
||||
* actived alone and no further checking is needed.
|
||||
* activated alone and no further checking is needed.
|
||||
*
|
||||
* Returns active component LV if there is such.
|
||||
*/
|
||||
@ -2912,7 +2912,7 @@ static int _deactivate_sub_lv_cb(struct logical_volume *lv, void *data)
|
||||
}
|
||||
|
||||
/*
|
||||
* Deactivates LV toghether with explicit deactivation call made also for all its component LVs.
|
||||
* Deactivates LV together with explicit deactivation call made also for all its component LVs.
|
||||
*/
|
||||
int deactivate_lv_with_sub_lv(const struct logical_volume *lv)
|
||||
{
|
||||
|
@ -840,7 +840,7 @@ int dm_device_is_usable(struct cmd_context *cmd, struct device *dev, struct dev_
|
||||
*
|
||||
* This is a quick check for now, but replace it with more
|
||||
* robust and better check that would check the stack
|
||||
* correctly, not just snapshots but any cobimnation possible
|
||||
* correctly, not just snapshots but any combination possible
|
||||
* in a stack - use proper dm tree to check this instead.
|
||||
*/
|
||||
if (check.check_suspended &&
|
||||
@ -2340,7 +2340,7 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
||||
* Check for device holders (ATM used only for removed pvmove targets)
|
||||
* and add them into dtree structures.
|
||||
* When 'laopts != NULL' add them as new nodes - which also corrects READ_AHEAD.
|
||||
* Note: correct table are already explicitelly PRELOADED.
|
||||
* Note: correct table are already explicitly PRELOADED.
|
||||
*/
|
||||
static int _check_holder(struct dev_manager *dm, struct dm_tree *dtree,
|
||||
const struct logical_volume *lv,
|
||||
@ -2887,7 +2887,7 @@ static int _add_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
||||
.send_messages = 1 /* Node with messages */
|
||||
};
|
||||
/*
|
||||
* Add some messsages if right node exist in the table only
|
||||
* Add some messages if right node exist in the table only
|
||||
* when building SUSPEND tree for origin-only thin-pool.
|
||||
*
|
||||
* TODO: Fix call of '_add_target_to_dtree()' to add message
|
||||
@ -3613,7 +3613,7 @@ static int _add_new_lv_to_dtree(struct dev_manager *dm, struct dm_tree *dtree,
|
||||
* so just use the tree's existing nodes' info
|
||||
*/
|
||||
if ((dinfo = _cached_dm_info(dm->mem, dtree, lv, NULL))) {
|
||||
/* Merging origin LV is present, check if mergins is already running. */
|
||||
/* Merging origin LV is present, check if merging is already running. */
|
||||
if ((seg_is_thin_volume(seg) && _lv_has_thin_device_id(dm->mem, lv, NULL, seg->device_id)) ||
|
||||
(!seg_is_thin_volume(seg) && lv_has_target_type(dm->mem, lv, NULL, TARGET_NAME_SNAPSHOT_MERGE))) {
|
||||
log_debug_activation("Merging of snapshot volume %s to origin %s is in progress.",
|
||||
|
6
lib/cache/lvmcache.c
vendored
6
lib/cache/lvmcache.c
vendored
@ -1462,7 +1462,7 @@ void lvmcache_extra_md_component_checks(struct cmd_context *cmd)
|
||||
* not careful to do it only when there's a good reason to believe a
|
||||
* dev is an md component.
|
||||
*
|
||||
* If the pv/dev size mismatches are commonly occuring for
|
||||
* If the pv/dev size mismatches are commonly occurring for
|
||||
* non-md-components then we'll want to stop using that as a trigger
|
||||
* for the full md check.
|
||||
*/
|
||||
@ -1547,7 +1547,7 @@ void lvmcache_extra_md_component_checks(struct cmd_context *cmd)
|
||||
* incorrectly placed PVs should have been moved from the orphan vginfo
|
||||
* onto their correct vginfo's, and the orphan vginfo should (in theory)
|
||||
* represent only real orphan PVs. (Note: if lvmcache_label_scan is run
|
||||
* after vg_read udpates to lvmcache state, then the lvmcache will be
|
||||
* after vg_read updates to lvmcache state, then the lvmcache will be
|
||||
* incorrect again, so do not run lvmcache_label_scan during the
|
||||
* processing phase.)
|
||||
*
|
||||
@ -2243,7 +2243,7 @@ int lvmcache_update_vgname_and_id(struct cmd_context *cmd, struct lvmcache_info
|
||||
if (!_lvmcache_update_vgstatus(info, vgsummary->vgstatus, vgsummary->creation_host,
|
||||
vgsummary->lock_type, vgsummary->system_id)) {
|
||||
/*
|
||||
* This shouldn't happen, it's an internal errror, and we can leave
|
||||
* This shouldn't happen, it's an internal error, and we can leave
|
||||
* the info in place without saving the summary values in vginfo.
|
||||
*/
|
||||
log_error("Failed to update VG %s info in lvmcache.", vgname);
|
||||
|
@ -82,7 +82,7 @@ static void _cache_display(const struct lv_segment *seg)
|
||||
/*
|
||||
* When older metadata are loaded without newer settings,
|
||||
* set then to default settings (the one that could have been
|
||||
* used implicitely at that time).
|
||||
* used implicitly at that time).
|
||||
*
|
||||
* Needs both segments cache and cache_pool to be loaded.
|
||||
*/
|
||||
@ -144,8 +144,8 @@ static int _settings_text_import(struct lv_segment *seg,
|
||||
* Read in policy args:
|
||||
* policy_settings {
|
||||
* migration_threshold=2048
|
||||
* sequention_threashold=100
|
||||
* random_threashold=200
|
||||
* sequential_threshold=100
|
||||
* random_threshold=200
|
||||
* read_promote_adjustment=10
|
||||
* write_promote_adjustment=20
|
||||
* discard_promote_adjustment=40
|
||||
@ -706,7 +706,7 @@ static int _cache_add_target_line(struct dev_manager *dm,
|
||||
}
|
||||
};
|
||||
|
||||
/* Check if cache settings are acceptable to knownm policies */
|
||||
/* Check if cache settings are acceptable to known policies */
|
||||
for (i = 0; i < DM_ARRAY_SIZE(_accepted); i++) {
|
||||
if (strcasecmp(cache_pool_seg->policy_name, _accepted[i].name))
|
||||
continue;
|
||||
|
@ -1228,7 +1228,7 @@ static struct dev_filter *_init_filter_chain(struct cmd_context *cmd)
|
||||
* sysfs filter. Only available on 2.6 kernels. Non-critical.
|
||||
* Eliminates unavailable devices.
|
||||
* TODO: this may be unnecessary now with device ids
|
||||
* (currently not used for devs match to device id using syfs)
|
||||
* (currently not used for devs match to device id using sysfs)
|
||||
*/
|
||||
if (find_config_tree_bool(cmd, devices_sysfs_scan_CFG, NULL)) {
|
||||
if ((filters[nr_filt] = sysfs_filter_create(dm_sysfs_dir())))
|
||||
@ -1312,7 +1312,7 @@ int init_filters(struct cmd_context *cmd, unsigned load_persistent_cache)
|
||||
init_ignore_lvm_mirrors(find_config_tree_bool(cmd, devices_ignore_lvm_mirrors_CFG, NULL));
|
||||
|
||||
/*
|
||||
* persisent filter is a cache of the previous result real filter result.
|
||||
* persistent filter is a cache of the previous result real filter result.
|
||||
* If a dev is found in persistent filter, the pass/fail result saved by
|
||||
* the pfilter is used. If a dev does not existing in the persistent
|
||||
* filter, the dev is passed on to the real filter, and when the result
|
||||
|
@ -507,7 +507,7 @@ int config_file_read_fd(struct dm_config_tree *cft, struct device *dev, dev_io_r
|
||||
use_plain_read = 0;
|
||||
|
||||
/* Ensure there is extra '\0' after end of buffer since we pass
|
||||
* buffer to funtions like strtoll() */
|
||||
* buffer to functions like strtoll() */
|
||||
if (!(buf = zalloc(size + size2 + 1))) {
|
||||
log_error("Failed to allocate circular buffer.");
|
||||
return 0;
|
||||
|
@ -112,7 +112,7 @@ typedef union {
|
||||
* and whether it can be attached to VG/LV metadata at the same time
|
||||
* The CFG_PROFILABLE_METADATA flag incorporates CFG_PROFILABLE flag!!! */
|
||||
#define CFG_PROFILABLE_METADATA 0x0030
|
||||
/* whether the default value is undefned */
|
||||
/* whether the default value is undefined */
|
||||
#define CFG_DEFAULT_UNDEFINED 0x0040
|
||||
/* whether the default value is commented out on output */
|
||||
#define CFG_DEFAULT_COMMENTED 0x0080
|
||||
@ -218,7 +218,7 @@ struct cft_check_handle {
|
||||
unsigned skip_if_checked:1; /* skip the check if already done before - return last state */
|
||||
unsigned suppress_messages:1; /* suppress messages during the check if config item is found invalid */
|
||||
unsigned check_diff:1; /* check if the value used differs from default one */
|
||||
unsigned ignoreadvanced:1; /* do not include advnced configs */
|
||||
unsigned ignoreadvanced:1; /* do not include advanced configs */
|
||||
unsigned ignoreunsupported:1; /* do not include unsupported configs */
|
||||
uint16_t disallowed_flags; /* set of disallowed flags */
|
||||
uint8_t status[CFG_COUNT]; /* flags for each configuration item - the result of the check */
|
||||
|
@ -47,7 +47,7 @@
|
||||
*
|
||||
* flags: Configuration item flags:
|
||||
* CFG_NAME_VARIABLE - configuration node name is variable
|
||||
* CFG_ALLOW_EMPTY - node value can be emtpy
|
||||
* CFG_ALLOW_EMPTY - node value can be empty
|
||||
* CFG_ADVANCED - this node belongs to advanced config set
|
||||
* CFG_UNSUPPORTED - this node is not officially supported and it's used primarily by developers
|
||||
* CFG_PROFILABLE - this node is customizable by a profile
|
||||
@ -59,7 +59,7 @@
|
||||
* CFG_SECTION_NO_CHECK - do not check content of the section at all - use with care!!!
|
||||
* CFG_DISALLOW_INTERACTIVE - disallow configuration node for use in interactive environment (e.g. cmds run in lvm shell)
|
||||
*
|
||||
* type: Allowed type for the value of simple configuation setting, one of:
|
||||
* type: Allowed type for the value of simple configuration setting, one of:
|
||||
* CFG_TYPE_BOOL
|
||||
* CFG_TYPE_INT
|
||||
* CFG_TYPE_FLOAT
|
||||
|
@ -183,7 +183,7 @@
|
||||
|
||||
#define DEFAULT_VDO_FORMAT_OPTIONS_CONFIG "#S" ""
|
||||
/*
|
||||
* VDO pool will reverve some sectors in the front and the back of pool device to avoid
|
||||
* VDO pool will reserve some sectors in the front and the back of pool device to avoid
|
||||
* seeing same device twice in the system.
|
||||
*/
|
||||
#define DEFAULT_VDO_POOL_HEADER_SIZE_KB (512)
|
||||
|
@ -666,7 +666,7 @@ struct bcache {
|
||||
struct block *raw_blocks;
|
||||
|
||||
/*
|
||||
* Lists that categorise the blocks.
|
||||
* Lists that categorize the blocks.
|
||||
*/
|
||||
unsigned nr_locked;
|
||||
unsigned nr_dirty;
|
||||
@ -1502,7 +1502,7 @@ int bcache_set_fd(int fd)
|
||||
}
|
||||
|
||||
/*
|
||||
* Should we check for unflushed or inprogress io on an fd
|
||||
* Should we check for unflushed or in-progress io on an fd
|
||||
* prior to doing clear_fd or change_fd? (To catch mistakes;
|
||||
* the caller should be smart enough to not do that.)
|
||||
*/
|
||||
|
@ -148,7 +148,7 @@ void bcache_abort_di(struct bcache *cache, int di);
|
||||
//----------------------------------------------------------------
|
||||
// The next four functions are utilities written in terms of the above api.
|
||||
|
||||
// Prefetches the blocks neccessary to satisfy a byte range.
|
||||
// Prefetches the blocks necessary to satisfy a byte range.
|
||||
void bcache_prefetch_bytes(struct bcache *cache, int di, uint64_t start, size_t len);
|
||||
|
||||
// Reads, writes and zeroes bytes. Returns false if errors occur.
|
||||
|
@ -836,7 +836,7 @@ static size_t _collapse_slashes(char *str)
|
||||
|
||||
static int _insert_dir(const char *dir)
|
||||
{
|
||||
/* alphanetically! sorted list used by bsearch of
|
||||
/* alphabetically! sorted list used by bsearch of
|
||||
* /dev subdirectories that should not contain
|
||||
* any block device, so no reason to scan them. */
|
||||
static const char _no_scan[][12] = {
|
||||
|