Skip to content

Commit

Permalink
Btrfs: make the scrub page array dynamically allocated
Browse files Browse the repository at this point in the history
With the modified design (in order to support the devive replace
procedure) it is necessary to alloc the page array dynamically.
The reason is that pages are reused. At first a page is used for
the bio to read the data from the filesystem, then the same page
is reused for the bio that writes the data to the target disk.
Since the read process and the write process are completely
decoupled, this requires a new concept of refcounts and get/put
functions for pages, and it requires to use newly created pages
for each read bio which are freed after the write operation
is finished.

Signed-off-by: Stefan Behrens <sbehrens@giantdisaster.de>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
  • Loading branch information
Stefan Behrens authored and Josef Bacik committed Dec 12, 2012
1 parent a36cf8b commit 7a9e998
Showing 1 changed file with 121 additions and 74 deletions.
Loading

0 comments on commit 7a9e998

Please sign in to comment.