1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-26 14:04:15 +03:00

more fixes to readahead etc.

This commit is contained in:
Alasdair Kergon 2011-06-28 09:24:13 +00:00
parent 77d16e2e39
commit 0fac155599

View File

@ -863,13 +863,6 @@ static int _stack_node_op(node_op_t type, const char *dev_name, uint32_t major,
size_t len = strlen(dev_name) + strlen(old_name) + 2;
char *pos;
/*
* Clear warn_if_udev_failed if rely_on_udev is set. It doesn't get
* checked in this case - this just removes the flag from log messages.
*/
if (rely_on_udev)
warn_if_udev_failed = 0;
/*
* Note: warn_if_udev_failed must have valid content
*/
@ -911,10 +904,16 @@ static int _stack_node_op(node_op_t type, const char *dev_name, uint32_t major,
*/
dm_list_iterate_safe(noph, nopht, &_node_ops) {
nop = dm_list_item(noph, struct node_op_parms);
if (!strcmp(old_name, nop->dev_name))
if (!strcmp(old_name, nop->dev_name)) {
_log_node_op("Unstacking", nop);
_del_node_op(nop);
}
}
else if (type == NODE_READ_AHEAD) {
/* udev doesn't process readahead */
rely_on_udev = 0;
warn_if_udev_failed = 0;
}
if (!(nop = dm_malloc(sizeof(*nop) + len))) {
log_error("Insufficient memory to stack mknod operation");
@ -930,9 +929,14 @@ static int _stack_node_op(node_op_t type, const char *dev_name, uint32_t major,
nop->mode = mode;
nop->read_ahead = read_ahead;
nop->read_ahead_flags = read_ahead_flags;
nop->warn_if_udev_failed = warn_if_udev_failed;
nop->rely_on_udev = rely_on_udev;
/*
* Clear warn_if_udev_failed if rely_on_udev is set. It doesn't get
* checked in this case - this just removes the flag from log messages.
*/
nop->warn_if_udev_failed = rely_on_udev ? 0 : warn_if_udev_failed;
_store_str(&pos, &nop->dev_name, dev_name);
_store_str(&pos, &nop->old_name, old_name);