XArray: Turn xa_erase into an exported function

Make xa_erase() take the spinlock and then call __xa_erase(), but make
it out of line since it's such a common function.

Signed-off-by: Matthew Wilcox <willy@infradead.org>
此提交包含在:
Matthew Wilcox
2018-11-05 15:48:49 -05:00
父節點 c5beb07e7a
當前提交 9c16bb8890
共有 2 個檔案被更改,包括 25 行新增17 行删除

查看文件

@@ -1336,6 +1336,30 @@ void *__xa_erase(struct xarray *xa, unsigned long index)
}
EXPORT_SYMBOL(__xa_erase);
/**
* xa_erase() - Erase this entry from the XArray.
* @xa: XArray.
* @index: Index of entry.
*
* This function is the equivalent of calling xa_store() with %NULL as
* the third argument. The XArray does not need to allocate memory, so
* the user does not need to provide GFP flags.
*
* Context: Any context. Takes and releases the xa_lock.
* Return: The entry which used to be at this index.
*/
void *xa_erase(struct xarray *xa, unsigned long index)
{
void *entry;
xa_lock(xa);
entry = __xa_erase(xa, index);
xa_unlock(xa);
return entry;
}
EXPORT_SYMBOL(xa_erase);
/**
* xa_store() - Store this entry in the XArray.
* @xa: XArray.