.fsync = generic_file_fsync,
};
-inline void dir_put_page(struct page *page, void *page_addr)
-{
- kunmap_local(page_addr);
- put_page(page);
-}
-
static void dir_commit_chunk(struct page *page, loff_t pos, unsigned len)
{
struct address_space *mapping = page->mapping;
}
/*
- * Calls to dir_get_page()/dir_put_page() must be nested according to the
+ * Calls to dir_get_page()/put_and_unmap_page() must be nested according to the
* rules documented in mm/highmem.rst.
*
* NOTE: sysv_find_entry() and sysv_dotdot() act as calls to dir_get_page()
if (!dir_emit(ctx, name, strnlen(name,SYSV_NAMELEN),
fs16_to_cpu(SYSV_SB(sb), de->inode),
DT_UNKNOWN)) {
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
return 0;
}
}
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
}
return 0;
}
* itself (as a parameter - res_dir). It does NOT read the inode of the
* entry - you'll have to do that yourself if you want to.
*
- * On Success dir_put_page() should be called on *res_page.
+ * On Success put_and_unmap_page() should be called on *res_page.
*
* sysv_find_entry() acts as a call to dir_get_page() and must be treated
* accordingly for nesting purposes.
name, de->name))
goto found;
}
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
}
if (++n >= npages)
goto out_page;
de++;
}
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
}
BUG();
return -EINVAL;
mark_inode_dirty(dir);
err = sysv_handle_dirsync(dir);
out_page:
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
return err;
out_unlock:
unlock_page(page);
if (de->name[1] != '.' || de->name[2])
goto not_empty;
}
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
}
return 1;
not_empty:
- dir_put_page(page, kaddr);
+ put_and_unmap_page(page, kaddr);
return 0;
}
}
/*
- * Calls to dir_get_page()/dir_put_page() must be nested according to the
+ * Calls to dir_get_page()/put_and_unmap_page() must be nested according to the
* rules documented in mm/highmem.rst.
*
* sysv_dotdot() acts as a call to dir_get_page() and must be treated
if (de) {
res = fs16_to_cpu(SYSV_SB(dentry->d_sb), de->inode);
- dir_put_page(page, de);
+ put_and_unmap_page(page, de);
}
return res;
}