|
@@ -84,10 +84,12 @@ static void r1bio_pool_free(void *r1_bio, void *data)
|
|
|
}
|
|
|
|
|
|
#define RESYNC_BLOCK_SIZE (64*1024)
|
|
|
-//#define RESYNC_BLOCK_SIZE PAGE_SIZE
|
|
|
+#define RESYNC_DEPTH 32
|
|
|
#define RESYNC_SECTORS (RESYNC_BLOCK_SIZE >> 9)
|
|
|
#define RESYNC_PAGES ((RESYNC_BLOCK_SIZE + PAGE_SIZE-1) / PAGE_SIZE)
|
|
|
-#define RESYNC_WINDOW (2048*1024)
|
|
|
+#define RESYNC_WINDOW (RESYNC_BLOCK_SIZE * RESYNC_DEPTH)
|
|
|
+#define RESYNC_WINDOW_SECTORS (RESYNC_WINDOW >> 9)
|
|
|
+#define NEXT_NORMALIO_DISTANCE (3 * RESYNC_WINDOW_SECTORS)
|
|
|
|
|
|
static void * r1buf_pool_alloc(gfp_t gfp_flags, void *data)
|
|
|
{
|
|
@@ -814,8 +816,6 @@ static void flush_pending_writes(struct r1conf *conf)
|
|
|
* there is no normal IO happeing. It must arrange to call
|
|
|
* lower_barrier when the particular background IO completes.
|
|
|
*/
|
|
|
-#define RESYNC_DEPTH 32
|
|
|
-
|
|
|
static void raise_barrier(struct r1conf *conf)
|
|
|
{
|
|
|
spin_lock_irq(&conf->resync_lock);
|