_______________________________________________________________________________________

    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;

______________________________________________________________________________________________


ENTER

ICP07002077