diff for duplicates of <4C849BA4.1080106@bfs.de> diff --git a/a/1.txt b/N1/1.txt index 23ca69f..956fb43 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -25,7 +25,7 @@ Neil Brown schrieb: >>> The full code: >>> >>> for (rdev = rcu_dereference(conf->mirrors[new_disk].rdev); ->>> r1_bio->bios[new_disk] = IO_BLOCKED || +>>> r1_bio->bios[new_disk] == IO_BLOCKED || >>> !rdev || !test_bit(In_sync, &rdev->flags) >>> || test_bit(WriteMostly, &rdev->flags); >>> rdev = rcu_dereference(conf->mirrors[++new_disk].rdev)) { @@ -34,7 +34,7 @@ Neil Brown schrieb: >>> r1_bio->bios[new_disk] != IO_BLOCKED) >>> wonly_disk = new_disk; >>> ->>> if (new_disk = conf->raid_disks - 1) { +>>> if (new_disk == conf->raid_disks - 1) { >>> new_disk = wonly_disk; >>> break; >>> } @@ -100,7 +100,7 @@ Neil Brown schrieb: > - new_disk = 0; > - > - for (rdev = rcu_dereference(conf->mirrors[new_disk].rdev); -> - r1_bio->bios[new_disk] = IO_BLOCKED || +> - r1_bio->bios[new_disk] == IO_BLOCKED || > - !rdev || !test_bit(In_sync, &rdev->flags) > - || test_bit(WriteMostly, &rdev->flags); > - rdev = rcu_dereference(conf->mirrors[++new_disk].rdev)) { @@ -109,7 +109,7 @@ Neil Brown schrieb: > - r1_bio->bios[new_disk] != IO_BLOCKED) > - wonly_disk = new_disk; > - -> - if (new_disk = conf->raid_disks - 1) { +> - if (new_disk == conf->raid_disks - 1) { > - new_disk = wonly_disk; > - break; > - } @@ -133,7 +133,7 @@ start_disk = conf->last_used; > - > /* make sure the disk is operational */ > - for (rdev = rcu_dereference(conf->mirrors[new_disk].rdev); -> - r1_bio->bios[new_disk] = IO_BLOCKED || +> - r1_bio->bios[new_disk] == IO_BLOCKED || > - !rdev || !test_bit(In_sync, &rdev->flags) || > - test_bit(WriteMostly, &rdev->flags); > - rdev = rcu_dereference(conf->mirrors[new_disk].rdev)) { @@ -145,7 +145,7 @@ start_disk = conf->last_used; > - if (new_disk <= 0) > - new_disk = conf->raid_disks; > - new_disk--; -> - if (new_disk = disk) { +> - if (new_disk == disk) { > - new_disk = wonly_disk; > - break; > + for (i = 0 ; i < conf->raid_disks ; i++) { @@ -153,7 +153,7 @@ start_disk = conf->last_used; > + if (disk >= conf->raid_disks) > + disk -= conf->raid_disks; > + -> + if (r1_bio->bios[disk] = IO_BLOCKED +> + if (r1_bio->bios[disk] == IO_BLOCKED > + || !(rdev = rcu_dereference(conf->mirrors[disk].rdev)) > + || !test_bit(In_sync, &rdev->flags)) > + continue; @@ -185,13 +185,13 @@ to improve readability: > goto rb_out; > > - disk = new_disk; -> - /* now disk = new_disk = starting point for search */ +> - /* now disk == new_disk == starting point for search */ > - > /* > * Don't change to another disk for sequential reads: > */ > @@ -491,20 +474,20 @@ static int read_balance(conf_t *conf, r1bio_t *r1_bio) -> if (this_sector = conf->mirrors[new_disk].head_position) +> if (this_sector == conf->mirrors[new_disk].head_position) > goto rb_out; > > - current_distance = abs(this_sector - conf->mirrors[disk].head_position); @@ -213,11 +213,11 @@ to improve readability: > - > - rdev = rcu_dereference(conf->mirrors[disk].rdev); > - -> - if (!rdev || r1_bio->bios[disk] = IO_BLOCKED || +> - if (!rdev || r1_bio->bios[disk] == IO_BLOCKED || > - !test_bit(In_sync, &rdev->flags) || > - test_bit(WriteMostly, &rdev->flags)) -> + if (r1_bio->bios[disk] = IO_BLOCKED +> + if (r1_bio->bios[disk] == IO_BLOCKED > + || !(rdev = rcu_dereference(conf->mirrors[disk].rdev)) > + || !test_bit(In_sync, &rdev->flags) > + || test_bit(WriteMostly, &rdev->flags)) diff --git a/a/content_digest b/N1/content_digest index 46357b3..dc20a5d 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,7 +5,7 @@ "ref\020100906152931.1d4a1d07@notabene\0" "From\0walter harms <wharms@bfs.de>\0" "Subject\0Re: [PATCH] md: do not use ++ in rcu_dereference() argument\0" - "Date\0Mon, 06 Sep 2010 07:43:32 +0000\0" + "Date\0Mon, 06 Sep 2010 09:43:32 +0200\0" "To\0Neil Brown <neilb@suse.de>\0" "Cc\0Sam Ravnborg <sam@ravnborg.org>" Kulikov Vasiliy <segooon@gmail.com> @@ -42,7 +42,7 @@ ">>> The full code:\n" ">>>\n" ">>> \t\tfor (rdev = rcu_dereference(conf->mirrors[new_disk].rdev);\n" - ">>> \t\t r1_bio->bios[new_disk] = IO_BLOCKED ||\n" + ">>> \t\t r1_bio->bios[new_disk] == IO_BLOCKED ||\n" ">>> \t\t !rdev || !test_bit(In_sync, &rdev->flags)\n" ">>> \t\t\t || test_bit(WriteMostly, &rdev->flags);\n" ">>> \t\t rdev = rcu_dereference(conf->mirrors[++new_disk].rdev)) {\n" @@ -51,7 +51,7 @@ ">>> \t\t\t\tr1_bio->bios[new_disk] != IO_BLOCKED)\n" ">>> \t\t\t\twonly_disk = new_disk;\n" ">>>\n" - ">>> \t\t\tif (new_disk = conf->raid_disks - 1) {\n" + ">>> \t\t\tif (new_disk == conf->raid_disks - 1) {\n" ">>> \t\t\t\tnew_disk = wonly_disk;\n" ">>> \t\t\t\tbreak;\n" ">>> \t\t\t}\n" @@ -117,7 +117,7 @@ "> -\t\tnew_disk = 0;\n" "> -\n" "> -\t\tfor (rdev = rcu_dereference(conf->mirrors[new_disk].rdev);\n" - "> -\t\t r1_bio->bios[new_disk] = IO_BLOCKED ||\n" + "> -\t\t r1_bio->bios[new_disk] == IO_BLOCKED ||\n" "> -\t\t !rdev || !test_bit(In_sync, &rdev->flags)\n" "> -\t\t\t || test_bit(WriteMostly, &rdev->flags);\n" "> -\t\t rdev = rcu_dereference(conf->mirrors[++new_disk].rdev)) {\n" @@ -126,7 +126,7 @@ "> -\t\t\t\tr1_bio->bios[new_disk] != IO_BLOCKED)\n" "> -\t\t\t\twonly_disk = new_disk;\n" "> -\n" - "> -\t\t\tif (new_disk = conf->raid_disks - 1) {\n" + "> -\t\t\tif (new_disk == conf->raid_disks - 1) {\n" "> -\t\t\t\tnew_disk = wonly_disk;\n" "> -\t\t\t\tbreak;\n" "> -\t\t\t}\n" @@ -150,7 +150,7 @@ "> -\n" "> \t/* make sure the disk is operational */\n" "> -\tfor (rdev = rcu_dereference(conf->mirrors[new_disk].rdev);\n" - "> -\t r1_bio->bios[new_disk] = IO_BLOCKED ||\n" + "> -\t r1_bio->bios[new_disk] == IO_BLOCKED ||\n" "> -\t !rdev || !test_bit(In_sync, &rdev->flags) ||\n" "> -\t\t test_bit(WriteMostly, &rdev->flags);\n" "> -\t rdev = rcu_dereference(conf->mirrors[new_disk].rdev)) {\n" @@ -162,7 +162,7 @@ "> -\t\tif (new_disk <= 0)\n" "> -\t\t\tnew_disk = conf->raid_disks;\n" "> -\t\tnew_disk--;\n" - "> -\t\tif (new_disk = disk) {\n" + "> -\t\tif (new_disk == disk) {\n" "> -\t\t\tnew_disk = wonly_disk;\n" "> -\t\t\tbreak;\n" "> +\tfor (i = 0 ; i < conf->raid_disks ; i++) {\n" @@ -170,7 +170,7 @@ "> +\t\tif (disk >= conf->raid_disks)\n" "> +\t\t\tdisk -= conf->raid_disks;\n" "> +\n" - "> +\t\tif (r1_bio->bios[disk] = IO_BLOCKED\n" + "> +\t\tif (r1_bio->bios[disk] == IO_BLOCKED\n" "> +\t\t || !(rdev = rcu_dereference(conf->mirrors[disk].rdev))\n" "> +\t\t || !test_bit(In_sync, &rdev->flags))\n" "> +\t\t\tcontinue;\n" @@ -202,13 +202,13 @@ "> \t\tgoto rb_out;\n" "> \n" "> -\tdisk = new_disk;\n" - "> -\t/* now disk = new_disk = starting point for search */\n" + "> -\t/* now disk == new_disk == starting point for search */\n" "> -\n" "> \t/*\n" "> \t * Don't change to another disk for sequential reads:\n" "> \t */\n" "> @@ -491,20 +474,20 @@ static int read_balance(conf_t *conf, r1bio_t *r1_bio)\n" - "> \tif (this_sector = conf->mirrors[new_disk].head_position)\n" + "> \tif (this_sector == conf->mirrors[new_disk].head_position)\n" "> \t\tgoto rb_out;\n" "> \n" "> -\tcurrent_distance = abs(this_sector - conf->mirrors[disk].head_position);\n" @@ -230,11 +230,11 @@ "> -\n" "> -\t\trdev = rcu_dereference(conf->mirrors[disk].rdev);\n" "> -\n" - "> -\t\tif (!rdev || r1_bio->bios[disk] = IO_BLOCKED ||\n" + "> -\t\tif (!rdev || r1_bio->bios[disk] == IO_BLOCKED ||\n" "> -\t\t !test_bit(In_sync, &rdev->flags) ||\n" "> -\t\t test_bit(WriteMostly, &rdev->flags))\n" "\n" - "> +\t\tif (r1_bio->bios[disk] = IO_BLOCKED\n" + "> +\t\tif (r1_bio->bios[disk] == IO_BLOCKED\n" "> +\t\t || !(rdev = rcu_dereference(conf->mirrors[disk].rdev))\n" "> +\t\t || !test_bit(In_sync, &rdev->flags)\n" "> +\t\t || test_bit(WriteMostly, &rdev->flags))\n" @@ -275,4 +275,4 @@ "> \n" > -b5dc6bff6bc4210b6b9f267ecbf374ca3f326395e6621fe7b36bb542eabf1afb +06b20e56fd0f36dc8cd7f58e1dd16af32ec1f5012fca1722c68269692dc7d06b
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.