mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
dm: replace -EEXIST with -EBUSY
The -EEXIST error code is reserved by the module loading infrastructure
to indicate that a module is already loaded. When a module's init
function returns -EEXIST, userspace tools like kmod interpret this as
"module already loaded" and treat the operation as successful, returning
0 to the user even though the module initialization actually failed.
This follows the precedent set by commit 54416fd767 ("netfilter:
conntrack: helper: Replace -EEXIST by -EBUSY") which fixed the same
issue in nf_conntrack_helper_register().
Affected modules:
* dm_cache dm_clone dm_integrity dm_mirror dm_multipath dm_pcache
* dm_vdo dm-ps-round-robin dm_historical_service_time dm_io_affinity
* dm_queue_length dm_service_time dm_snapshot
Signed-off-by: Daniel Gomez <da.gomez@samsung.com>
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
This commit is contained in:
parent
f3a9c95a15
commit
b13ef361d4
|
|
@ -116,7 +116,7 @@ int dm_exception_store_type_register(struct dm_exception_store_type *type)
|
|||
if (!__find_exception_store_type(type->name))
|
||||
list_add(&type->list, &_exception_store_types);
|
||||
else
|
||||
r = -EEXIST;
|
||||
r = -EBUSY;
|
||||
spin_unlock(&_lock);
|
||||
|
||||
return r;
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ int dm_dirty_log_type_register(struct dm_dirty_log_type *type)
|
|||
if (!__find_dirty_log_type(type->name))
|
||||
list_add(&type->list, &_log_types);
|
||||
else
|
||||
r = -EEXIST;
|
||||
r = -EBUSY;
|
||||
spin_unlock(&_lock);
|
||||
|
||||
return r;
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ int dm_register_path_selector(struct path_selector_type *pst)
|
|||
|
||||
if (__find_path_selector_type(pst->name)) {
|
||||
kfree(psi);
|
||||
r = -EEXIST;
|
||||
r = -EBUSY;
|
||||
} else
|
||||
list_add(&psi->list, &_path_selectors);
|
||||
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ int dm_register_target(struct target_type *tt)
|
|||
if (__find_target_type(tt->name)) {
|
||||
DMERR("%s: '%s' target already registered",
|
||||
__func__, tt->name);
|
||||
rv = -EEXIST;
|
||||
rv = -EBUSY;
|
||||
} else {
|
||||
list_add(&tt->list, &_targets);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user