summaryrefslogtreecommitdiffstats
path: root/lib/xarray.c
diff options
context:
space:
mode:
authorMatthew Wilcox <willy@infradead.org>2019-02-06 13:07:11 -0500
committerMatthew Wilcox <willy@infradead.org>2019-02-06 13:12:15 -0500
commitfd9dc93e36231fb6d520e0edd467058fad4fd12d (patch)
treeaa7dc07e911ece5d69304e9e4bba1f9b937d8ce2 /lib/xarray.c
parent809ab9371ca0a96b44d9866ad82849410759a45b (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.c4
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 */
1457int __xa_insert(struct xarray *xa, unsigned long index, void *entry, gfp_t gfp) 1457int __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