mirror of
https://github.com/torvalds/linux.git
synced 2026-07-29 18:51:21 +02:00
sunrpc: add a cache_notify callback
A later patch will be changing the kernel to send a netlink notification when there is a pending cache_request. Add a new cache_notify operation to struct cache_detail for this purpose. Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
This commit is contained in:
parent
8bfc7e13ee
commit
d52db76f2d
|
|
@ -80,6 +80,9 @@ struct cache_detail {
|
|||
int (*cache_upcall)(struct cache_detail *,
|
||||
struct cache_head *);
|
||||
|
||||
int (*cache_notify)(struct cache_detail *cd,
|
||||
struct cache_head *h);
|
||||
|
||||
void (*cache_request)(struct cache_detail *cd,
|
||||
struct cache_head *ch,
|
||||
char **bpp, int *blen);
|
||||
|
|
|
|||
|
|
@ -1233,6 +1233,8 @@ static int cache_do_upcall(struct cache_detail *detail, struct cache_head *h)
|
|||
/* Lost a race, no longer PENDING, so don't enqueue */
|
||||
ret = -EAGAIN;
|
||||
spin_unlock(&detail->queue_lock);
|
||||
if (ret != -EAGAIN && detail->cache_notify)
|
||||
detail->cache_notify(detail, h);
|
||||
wake_up(&detail->queue_wait);
|
||||
if (ret == -EAGAIN) {
|
||||
kfree(buf);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user