|
@@ -19,6 +19,7 @@ struct bio;
|
|
#define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */
|
|
#define SWAP_FLAG_PREFER 0x8000 /* set if swap priority specified */
|
|
#define SWAP_FLAG_PRIO_MASK 0x7fff
|
|
#define SWAP_FLAG_PRIO_MASK 0x7fff
|
|
#define SWAP_FLAG_PRIO_SHIFT 0
|
|
#define SWAP_FLAG_PRIO_SHIFT 0
|
|
|
|
+#define SWAP_FLAG_DISCARD 0x10000 /* discard swap cluster after use */
|
|
|
|
|
|
static inline int current_is_kswapd(void)
|
|
static inline int current_is_kswapd(void)
|
|
{
|
|
{
|
|
@@ -142,7 +143,7 @@ struct swap_extent {
|
|
enum {
|
|
enum {
|
|
SWP_USED = (1 << 0), /* is slot in swap_info[] used? */
|
|
SWP_USED = (1 << 0), /* is slot in swap_info[] used? */
|
|
SWP_WRITEOK = (1 << 1), /* ok to write to this swap? */
|
|
SWP_WRITEOK = (1 << 1), /* ok to write to this swap? */
|
|
- SWP_DISCARDABLE = (1 << 2), /* blkdev supports discard */
|
|
|
|
|
|
+ SWP_DISCARDABLE = (1 << 2), /* swapon+blkdev support discard */
|
|
SWP_DISCARDING = (1 << 3), /* now discarding a free cluster */
|
|
SWP_DISCARDING = (1 << 3), /* now discarding a free cluster */
|
|
SWP_SOLIDSTATE = (1 << 4), /* blkdev seeks are cheap */
|
|
SWP_SOLIDSTATE = (1 << 4), /* blkdev seeks are cheap */
|
|
SWP_CONTINUED = (1 << 5), /* swap_map has count continuation */
|
|
SWP_CONTINUED = (1 << 5), /* swap_map has count continuation */
|