]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: defrag: also check PagePrivate for subpage cases in cluster_pages_for_defrag()
authorQu Wenruo <wqu@suse.com>
Fri, 6 Aug 2021 08:12:33 +0000 (16:12 +0800)
committerDavid Sterba <dsterba@suse.com>
Tue, 26 Oct 2021 17:05:18 +0000 (19:05 +0200)
commit4473bf1d657ca1130dc477ba00b448b654c7dd87
tree364efa31f165ebf1de0326dcb3099d7895846be9
parent3d1dee06dae1f0d46fc659b51f3d1945331cc317
btrfs: defrag: also check PagePrivate for subpage cases in cluster_pages_for_defrag()

In function cluster_pages_for_defrag() we have a window where we unlock
page, either start the ordered range or read the content from disk.

When we re-lock the page, we need to make sure it still has the correct
page->private for subpage.

Thus add the extra PagePrivate check here to handle subpage cases
properly.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/ioctl.c