XArray: Add wrappers for nested spinlocks
Some users need to take an xarray lock while holding another xarray lock. Reported-by: Doug Gilbert <dgilbert@interlog.com> Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
This commit is contained in:
parent
6b81141deb
commit
82a958497d
@ -508,6 +508,14 @@ static inline bool xa_marked(const struct xarray *xa, xa_mark_t mark)
|
||||
spin_lock_irqsave(&(xa)->xa_lock, flags)
|
||||
#define xa_unlock_irqrestore(xa, flags) \
|
||||
spin_unlock_irqrestore(&(xa)->xa_lock, flags)
|
||||
#define xa_lock_nested(xa, subclass) \
|
||||
spin_lock_nested(&(xa)->xa_lock, subclass)
|
||||
#define xa_lock_bh_nested(xa, subclass) \
|
||||
spin_lock_bh_nested(&(xa)->xa_lock, subclass)
|
||||
#define xa_lock_irq_nested(xa, subclass) \
|
||||
spin_lock_irq_nested(&(xa)->xa_lock, subclass)
|
||||
#define xa_lock_irqsave_nested(xa, flags, subclass) \
|
||||
spin_lock_irqsave_nested(&(xa)->xa_lock, flags, subclass)
|
||||
|
||||
/*
|
||||
* Versions of the normal API which require the caller to hold the
|
||||
|
Loading…
x
Reference in New Issue
Block a user