static
void shmem_swp_set(struct shmem_inode_info *info, swp_entry_t
*entry, unsigned long value) { long incdec = value? 1:
-1;
entry->val = value; info->swapped +=
incdec; if ((unsigned long)(entry - info->i_direct) >=
SHMEM_NR_DIRECT) { struct page *page =
kmap_atomic_to_page(entry); set_page_private(page,
page_private(page) + incdec); } } /* *
shmem_swp_alloc - get the position of the swap entry for the
page. * If it does not exist allocate the entry. * @info:
info structure for the inode * @index: index of the page to
find * @sgp: check and recheck i_size? skip
allocation? */ static swp_entry_t *shmem_swp_alloc(struct
shmem_inode_info *info, unsigned long index, enum sgp_type
sgp) { struct inode *inode = &info->vfs_inode;
|