Merge tag 'misc-5.12-2021-03-02' of git://git.kernel.dk/linux-block
Pull misc fixes from Jens Axboe: "Two misc fixes that don't belong in other branches: - Fix a regression with ia64 signals, introduced by the TIF_NOTIFY_SIGNAL change in 5.11. - Fix the current swapfile regression from this merge window" * tag 'misc-5.12-2021-03-02' of git://git.kernel.dk/linux-block: swap: fix swapfile read/write offset ia64: don't call handle_signal() unless there's actually a signal queued
This commit is contained in:
@ -341,7 +341,8 @@ ia64_do_signal (struct sigscratch *scr, long in_syscall)
|
||||
* need to push through a forced SIGSEGV.
|
||||
*/
|
||||
while (1) {
|
||||
get_signal(&ksig);
|
||||
if (!get_signal(&ksig))
|
||||
break;
|
||||
|
||||
/*
|
||||
* get_signal() may have run a debugger (via notify_parent())
|
||||
|
@ -485,6 +485,7 @@ struct backing_dev_info;
|
||||
extern int init_swap_address_space(unsigned int type, unsigned long nr_pages);
|
||||
extern void exit_swap_address_space(unsigned int type);
|
||||
extern struct swap_info_struct *get_swap_device(swp_entry_t entry);
|
||||
sector_t swap_page_sector(struct page *page);
|
||||
|
||||
static inline void put_swap_device(struct swap_info_struct *si)
|
||||
{
|
||||
|
@ -254,11 +254,6 @@ out:
|
||||
return ret;
|
||||
}
|
||||
|
||||
static sector_t swap_page_sector(struct page *page)
|
||||
{
|
||||
return (sector_t)__page_file_index(page) << (PAGE_SHIFT - 9);
|
||||
}
|
||||
|
||||
static inline void count_swpout_vm_event(struct page *page)
|
||||
{
|
||||
#ifdef CONFIG_TRANSPARENT_HUGEPAGE
|
||||
|
@ -219,6 +219,19 @@ offset_to_swap_extent(struct swap_info_struct *sis, unsigned long offset)
|
||||
BUG();
|
||||
}
|
||||
|
||||
sector_t swap_page_sector(struct page *page)
|
||||
{
|
||||
struct swap_info_struct *sis = page_swap_info(page);
|
||||
struct swap_extent *se;
|
||||
sector_t sector;
|
||||
pgoff_t offset;
|
||||
|
||||
offset = __page_file_index(page);
|
||||
se = offset_to_swap_extent(sis, offset);
|
||||
sector = se->start_block + (offset - se->start_page);
|
||||
return sector << (PAGE_SHIFT - 9);
|
||||
}
|
||||
|
||||
/*
|
||||
* swap allocation tell device that a cluster of swap can now be discarded,
|
||||
* to allow the swap device to optimize its wear-levelling.
|
||||
|
Reference in New Issue
Block a user