aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/blkdev.h
diff options
context:
space:
mode:
authorNitin Gupta <ngupta@vflare.org>2010-05-17 01:32:43 -0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-05-18 18:07:52 -0400
commitb3a27d0529c6e5206f1b60f60263e3ecfd0d77cb (patch)
tree50ce5c6ce06ed700160491f2cd0e93d318ccc7fd /include/linux/blkdev.h
parentb27256439568950f30864ccecaeb6dfb588089d5 (diff)
swap: Add swap slot free callback to block_device_operations
This callback is required when RAM based devices are used as swap disks. One such device is ramzswap which is used as compressed in-memory swap disk. For such devices, we need a callback as soon as a swap slot is no longer used to allow freeing memory allocated for this slot. Without this callback, stale data can quickly accumulate in memory defeating the whole purpose of such devices. Signed-off-by: Nitin Gupta <ngupta@vflare.org> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Acked-by: Nigel Cunningham <nigel@tuxonice.net> Acked-by: Pekka Enberg <penberg@cs.helsinki.fi> Reviewed-by: Minchan Kim <minchan.kim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'include/linux/blkdev.h')
-rw-r--r--include/linux/blkdev.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
index 6690e8bae7bb..413284a51ccc 100644
--- a/include/linux/blkdev.h
+++ b/include/linux/blkdev.h
@@ -1287,6 +1287,8 @@ struct block_device_operations {
1287 unsigned long long); 1287 unsigned long long);
1288 int (*revalidate_disk) (struct gendisk *); 1288 int (*revalidate_disk) (struct gendisk *);
1289 int (*getgeo)(struct block_device *, struct hd_geometry *); 1289 int (*getgeo)(struct block_device *, struct hd_geometry *);
1290 /* this callback is with swap_lock and sometimes page table lock held */
1291 void (*swap_slot_free_notify) (struct block_device *, unsigned long);
1290 struct module *owner; 1292 struct module *owner;
1291}; 1293};
1292 1294