A block device makes swap_slot_free_notify() callback
when the last reference to a swap slot is dropped.
This callback is made under swap_lock and page table
lock. This is a note of warning for registered callback
function which must meet these constraints.
Signed-off-by: Nitin Gupta <[email protected]>
---
include/linux/blkdev.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index f86df8b..fb7b3c2 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1294,6 +1294,7 @@ struct block_device_operations {
unsigned long long);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
+ /* this callback is with swap_lock and page table lock held */
void (*swap_slot_free_notify) (struct block_device *, unsigned long);
struct module *owner;
};
--
1.6.2.5
From: Nitin Gupta <[email protected]>
A block device makes swap_slot_free_notify() callback
when the last reference to a swap slot is dropped.
This callback is made under swap_lock and sometimes page table
lock. This is a note of warning for registered callback
function which must meet these constraints.
Signed-off-by: Nitin Gupta <[email protected]>
Signed-off-by: Hugh Dickins <[email protected]>
---
I've added "sometimes " in the comment above and the comment below:
sorry, I should have made that clearer when I made this point.
Hugh
include/linux/blkdev.h | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index f86df8b..fb7b3c2 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1294,6 +1294,7 @@ struct block_device_operations {
unsigned long long);
int (*revalidate_disk) (struct gendisk *);
int (*getgeo)(struct block_device *, struct hd_geometry *);
+ /* this callback is with swap_lock and sometimes page table lock held */
void (*swap_slot_free_notify) (struct block_device *, unsigned long);
struct module *owner;
};
--
1.6.2.5