diff for duplicates of <4C45D3B0.7030202@redhat.com> diff --git a/a/1.txt b/N1/1.txt index d63cd71..cf0b277 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -25,15 +25,16 @@ Actually retract that, as Andreas pointed out: you've lost this spin_lock ... >> - list_for_each(l, &mb_cache_list) { ->> - struct mb_cache *cache >> - list_entry(l, struct mb_cache, c_cache_list); +>> - struct mb_cache *cache = +>> - list_entry(l, struct mb_cache, c_cache_list); >> - mb_debug("cache %s (%d)", cache->c_name, >> - atomic_read(&cache->c_entry_count)); >> - count += atomic_read(&cache->c_entry_count); >> - } >> mb_debug("trying to free %d entries", nr_to_scan); ->> - if (nr_to_scan = 0) { +>> - if (nr_to_scan == 0) { >> - spin_unlock(&mb_cache_spinlock); ->> + if (nr_to_scan = 0) +>> + if (nr_to_scan == 0) >> goto out; >> - } >> + @@ -41,7 +42,8 @@ you've lost this spin_lock ... and here you're iterating over it while unlocked.... >> while (nr_to_scan-- && !list_empty(&mb_cache_lru_list)) { ->> struct mb_cache_entry *ce >> list_entry(mb_cache_lru_list.next, +>> struct mb_cache_entry *ce = +>> list_entry(mb_cache_lru_list.next, struct mb_cache_entry, e_lru_list); list_move_tail(&ce->e_lru_list, &free_list); __mb_cache_entry_unhash(ce); diff --git a/a/content_digest b/N1/content_digest index 0f0d09f..547a872 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,8 +1,8 @@ "ref\04C430830.9020903@gmail.com\0" "ref\04C447CE9.20904@redhat.com\0" "From\0Eric Sandeen <sandeen@redhat.com>\0" - "Subject\0Re: [PATCH 1/2 RESEND] fix return value for mb_cache_shrink_fn when\0" - "Date\0Tue, 20 Jul 2010 16:49:52 +0000\0" + "Subject\0Re: [PATCH 1/2 RESEND] fix return value for mb_cache_shrink_fn when nr_to_scan > 0\0" + "Date\0Tue, 20 Jul 2010 11:49:52 -0500\0" "To\0Wang Sheng-Hui <crosslonelyover@gmail.com>\0" "Cc\0linux-fsdevel@vger.kernel.org" viro@zeniv.linux.org.uk @@ -39,15 +39,16 @@ "you've lost this spin_lock ...\n" "\n" ">> -\tlist_for_each(l, &mb_cache_list) {\n" - ">> -\t\tstruct mb_cache *cache >> -\t\t\tlist_entry(l, struct mb_cache, c_cache_list);\n" + ">> -\t\tstruct mb_cache *cache =\n" + ">> -\t\t\tlist_entry(l, struct mb_cache, c_cache_list);\n" ">> -\t\tmb_debug(\"cache %s (%d)\", cache->c_name,\n" ">> -\t\t\t atomic_read(&cache->c_entry_count));\n" ">> -\t\tcount += atomic_read(&cache->c_entry_count);\n" ">> -\t}\n" ">> \tmb_debug(\"trying to free %d entries\", nr_to_scan);\n" - ">> -\tif (nr_to_scan = 0) {\n" + ">> -\tif (nr_to_scan == 0) {\n" ">> -\t\tspin_unlock(&mb_cache_spinlock);\n" - ">> +\tif (nr_to_scan = 0)\n" + ">> +\tif (nr_to_scan == 0)\n" ">> \t\tgoto out;\n" ">> -\t}\n" ">> +\n" @@ -55,7 +56,8 @@ "and here you're iterating over it while unlocked....\n" "\n" ">> \twhile (nr_to_scan-- && !list_empty(&mb_cache_lru_list)) {\n" - ">> \t\tstruct mb_cache_entry *ce >> \t\t\tlist_entry(mb_cache_lru_list.next,\n" + ">> \t\tstruct mb_cache_entry *ce =\n" + ">> \t\t\tlist_entry(mb_cache_lru_list.next,\n" " struct mb_cache_entry, e_lru_list);\n" " list_move_tail(&ce->e_lru_list, &free_list);\n" " __mb_cache_entry_unhash(ce);\n" @@ -89,4 +91,4 @@ "> the body of a message to majordomo@vger.kernel.org\n" > More majordomo info at http://vger.kernel.org/majordomo-info.html -a2670c392fe3d277435656e660fdb0cfa53e3342f0e583239160c4e829b025b5 +f8ff39e893599844eab3a4bc19f154747e08ccdd9b9aff22f888301d878ef02d
diff --git a/a/1.txt b/N2/1.txt index d63cd71..04f7ce6 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -25,15 +25,16 @@ Actually retract that, as Andreas pointed out: you've lost this spin_lock ... >> - list_for_each(l, &mb_cache_list) { ->> - struct mb_cache *cache >> - list_entry(l, struct mb_cache, c_cache_list); +>> - struct mb_cache *cache = +>> - list_entry(l, struct mb_cache, c_cache_list); >> - mb_debug("cache %s (%d)", cache->c_name, >> - atomic_read(&cache->c_entry_count)); >> - count += atomic_read(&cache->c_entry_count); >> - } >> mb_debug("trying to free %d entries", nr_to_scan); ->> - if (nr_to_scan = 0) { +>> - if (nr_to_scan == 0) { >> - spin_unlock(&mb_cache_spinlock); ->> + if (nr_to_scan = 0) +>> + if (nr_to_scan == 0) >> goto out; >> - } >> + @@ -41,7 +42,8 @@ you've lost this spin_lock ... and here you're iterating over it while unlocked.... >> while (nr_to_scan-- && !list_empty(&mb_cache_lru_list)) { ->> struct mb_cache_entry *ce >> list_entry(mb_cache_lru_list.next, +>> struct mb_cache_entry *ce = +>> list_entry(mb_cache_lru_list.next, struct mb_cache_entry, e_lru_list); list_move_tail(&ce->e_lru_list, &free_list); __mb_cache_entry_unhash(ce); @@ -74,3 +76,9 @@ Sorry I missed that. > To unsubscribe from this list: send the line "unsubscribe linux-ext4" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N2/content_digest index 0f0d09f..187b305 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -1,8 +1,8 @@ "ref\04C430830.9020903@gmail.com\0" "ref\04C447CE9.20904@redhat.com\0" "From\0Eric Sandeen <sandeen@redhat.com>\0" - "Subject\0Re: [PATCH 1/2 RESEND] fix return value for mb_cache_shrink_fn when\0" - "Date\0Tue, 20 Jul 2010 16:49:52 +0000\0" + "Subject\0Re: [PATCH 1/2 RESEND] fix return value for mb_cache_shrink_fn when nr_to_scan > 0\0" + "Date\0Tue, 20 Jul 2010 11:49:52 -0500\0" "To\0Wang Sheng-Hui <crosslonelyover@gmail.com>\0" "Cc\0linux-fsdevel@vger.kernel.org" viro@zeniv.linux.org.uk @@ -39,15 +39,16 @@ "you've lost this spin_lock ...\n" "\n" ">> -\tlist_for_each(l, &mb_cache_list) {\n" - ">> -\t\tstruct mb_cache *cache >> -\t\t\tlist_entry(l, struct mb_cache, c_cache_list);\n" + ">> -\t\tstruct mb_cache *cache =\n" + ">> -\t\t\tlist_entry(l, struct mb_cache, c_cache_list);\n" ">> -\t\tmb_debug(\"cache %s (%d)\", cache->c_name,\n" ">> -\t\t\t atomic_read(&cache->c_entry_count));\n" ">> -\t\tcount += atomic_read(&cache->c_entry_count);\n" ">> -\t}\n" ">> \tmb_debug(\"trying to free %d entries\", nr_to_scan);\n" - ">> -\tif (nr_to_scan = 0) {\n" + ">> -\tif (nr_to_scan == 0) {\n" ">> -\t\tspin_unlock(&mb_cache_spinlock);\n" - ">> +\tif (nr_to_scan = 0)\n" + ">> +\tif (nr_to_scan == 0)\n" ">> \t\tgoto out;\n" ">> -\t}\n" ">> +\n" @@ -55,7 +56,8 @@ "and here you're iterating over it while unlocked....\n" "\n" ">> \twhile (nr_to_scan-- && !list_empty(&mb_cache_lru_list)) {\n" - ">> \t\tstruct mb_cache_entry *ce >> \t\t\tlist_entry(mb_cache_lru_list.next,\n" + ">> \t\tstruct mb_cache_entry *ce =\n" + ">> \t\t\tlist_entry(mb_cache_lru_list.next,\n" " struct mb_cache_entry, e_lru_list);\n" " list_move_tail(&ce->e_lru_list, &free_list);\n" " __mb_cache_entry_unhash(ce);\n" @@ -87,6 +89,12 @@ "> --\n" "> To unsubscribe from this list: send the line \"unsubscribe linux-ext4\" in\n" "> the body of a message to majordomo@vger.kernel.org\n" - > More majordomo info at http://vger.kernel.org/majordomo-info.html + "> More majordomo info at http://vger.kernel.org/majordomo-info.html\n" + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -a2670c392fe3d277435656e660fdb0cfa53e3342f0e583239160c4e829b025b5 +b43d4d2b447c86f65d52b21fb4af77bce7b038bc35b5c0586988800db408ccee
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.