diff options
author | Matthew Wilcox <willy@infradead.org> | 2019-02-06 13:07:11 -0500 |
---|---|---|
committer | Matthew Wilcox <willy@infradead.org> | 2019-02-06 13:12:15 -0500 |
commit | fd9dc93e36231fb6d520e0edd467058fad4fd12d (patch) | |
tree | aa7dc07e911ece5d69304e9e4bba1f9b937d8ce2 /lib/xarray.c | |
parent | 809ab9371ca0a96b44d9866ad82849410759a45b (diff) |
XArray: Change xa_insert to return -EBUSY
Userspace translates EEXIST to "File exists" which isn't a very good
error message for the problem. "Device or resource busy" is a better
indication of what went wrong.
Signed-off-by: Matthew Wilcox <willy@infradead.org>
Diffstat (limited to 'lib/xarray.c')
-rw-r--r-- | lib/xarray.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/xarray.c b/lib/xarray.c index fb783bf2a441..1b97ca58bd15 100644 --- a/lib/xarray.c +++ b/lib/xarray.c | |||
@@ -1451,7 +1451,7 @@ EXPORT_SYMBOL(__xa_cmpxchg); | |||
1451 | * | 1451 | * |
1452 | * Context: Any context. Expects xa_lock to be held on entry. May | 1452 | * Context: Any context. Expects xa_lock to be held on entry. May |
1453 | * release and reacquire xa_lock if @gfp flags permit. | 1453 | * release and reacquire xa_lock if @gfp flags permit. |
1454 | * Return: 0 if the store succeeded. -EEXIST if another entry was present. | 1454 | * Return: 0 if the store succeeded. -EBUSY if another entry was present. |
1455 | * -ENOMEM if memory could not be allocated. | 1455 | * -ENOMEM if memory could not be allocated. |
1456 | */ | 1456 | */ |
1457 | int __xa_insert(struct xarray *xa, unsigned long index, void *entry, gfp_t gfp) | 1457 | int __xa_insert(struct xarray *xa, unsigned long index, void *entry, gfp_t gfp) |
@@ -1471,7 +1471,7 @@ int __xa_insert(struct xarray *xa, unsigned long index, void *entry, gfp_t gfp) | |||
1471 | if (xa_track_free(xa)) | 1471 | if (xa_track_free(xa)) |
1472 | xas_clear_mark(&xas, XA_FREE_MARK); | 1472 | xas_clear_mark(&xas, XA_FREE_MARK); |
1473 | } else { | 1473 | } else { |
1474 | xas_set_err(&xas, -EEXIST); | 1474 | xas_set_err(&xas, -EBUSY); |
1475 | } | 1475 | } |
1476 | } while (__xas_nomem(&xas, gfp)); | 1476 | } while (__xas_nomem(&xas, gfp)); |
1477 | 1477 | ||