diff for duplicates of <1462991986.29294.29.camel@intel.com> diff --git a/a/1.txt b/N1/1.txt index a8d3c50..7124d71 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,13 +1,21 @@ -T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+ -wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh -bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs -DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4 -X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk -ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3 -bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo -ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ -cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl -bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp -bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv -ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv -Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu +On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote: +> +... + +> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode, +> loff_t from, unsigned length, +>  .size = PAGE_SIZE, +>  }; +>  +> - if (dax_map_atomic(bdev, &dax) < 0) +> - return PTR_ERR(dax.addr); +> - clear_pmem(dax.addr + offset, length); +> - wmb_pmem(); +> - dax_unmap_atomic(bdev, &dax); +> + if (dax_range_is_aligned(bdev, &dax, offset, length)) +> + return blkdev_issue_zeroout(bdev, dax.sector, +> + length >> 9, GFP_NOFS, true); + +Found another bug here while testing. The zeroout needs to be done for +sector + (offset >> 9). The above just zeroed out the first sector of +the page irrespective of offset, which is wrong.N§²æìr¸zǧu©²Æ {\béì¹»\x1c®&Þ)îÆi¢Ø^nr¶Ý¢j$½§$¢¸\x05¢¹¨è§~'.)îÄÃ,yèm¶ÿÃ\f%{±j+ðèצj)Z· diff --git a/a/content_digest b/N1/content_digest index 56b0981..869b362 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -22,18 +22,26 @@ " jack@suse.cz <jack@suse.cz>\0" "\00:1\0" "b\0" - "T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+\n" - "wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh\n" - "bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs\n" - "DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4\n" - "X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk\n" - "ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3\n" - "bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo\n" - "ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ\n" - "cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl\n" - "bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp\n" - "bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv\n" - "ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv\n" - Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu + "On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote:\n" + ">\303\202\302\240\n" + "...\n" + "\n" + "> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode,\n" + "> loff_t from, unsigned length,\n" + "> \303\202\302\240\t\t\t.size = PAGE_SIZE,\n" + "> \303\202\302\240\t\t};\n" + "> \303\202\302\240\n" + "> -\t\tif (dax_map_atomic(bdev, &dax) < 0)\n" + "> -\t\t\treturn PTR_ERR(dax.addr);\n" + "> -\t\tclear_pmem(dax.addr + offset, length);\n" + "> -\t\twmb_pmem();\n" + "> -\t\tdax_unmap_atomic(bdev, &dax);\n" + "> +\t\tif (dax_range_is_aligned(bdev, &dax, offset, length))\n" + "> +\t\t\treturn blkdev_issue_zeroout(bdev, dax.sector,\n" + "> +\t\t\t\t\tlength >> 9, GFP_NOFS, true);\n" + "\n" + "Found another bug here while testing. The zeroout needs to be done for\n" + "sector + (offset >> 9). The above just zeroed out the first sector of\n" + "the page irrespective of offset, which is wrong.N\302\213\302\247\302\262\303\246\303\254r\302\270\302\233z\303\207\302\247u\302\251\302\236\302\262\303\206\302\240{\b\302\255\302\206\303\251\303\254\302\271\302\273\034\302\256&\303\236\302\226)\303\256\303\206i\302\242\302\236\303\230^n\302\207r\302\266\302\211\302\232\302\216\302\212\303\235\302\242j$\302\275\302\247$\302\242\302\270\005\302\242\302\271\302\250\302\255\303\250\302\247~\302\212'.)\303\256\303\204\303\203,y\303\250m\302\266\302\237\303\277\303\203\f%\302\212{\302\261\302\232j+\302\203\303\260\303\250\302\236\303\227\302\246j)Z\302\206\302\267\302\237" -36b2a2dca785b6410a94e1817e2eced5b15c064b8bf94462971b71ca456c61df +ed956854cbf4e8b914bf8c080b9b54b9a2ef90036a8b66dfb236090ad5dabb91
diff --git a/a/1.txt b/N2/1.txt index a8d3c50..93b9911 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -1,13 +1,25 @@ -T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+ -wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh -bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs -DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4 -X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk -ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3 -bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo -ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ -cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl -bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp -bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv -ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv -Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu +On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote: +> +... + +> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode, +> loff_t from, unsigned length, +> .size = PAGE_SIZE, +> }; +> +> - if (dax_map_atomic(bdev, &dax) < 0) +> - return PTR_ERR(dax.addr); +> - clear_pmem(dax.addr + offset, length); +> - wmb_pmem(); +> - dax_unmap_atomic(bdev, &dax); +> + if (dax_range_is_aligned(bdev, &dax, offset, length)) +> + return blkdev_issue_zeroout(bdev, dax.sector, +> + length >> 9, GFP_NOFS, true); + +Found another bug here while testing. The zeroout needs to be done for +sector + (offset >> 9). The above just zeroed out the first sector of +the page irrespective of offset, which is wrong. +_______________________________________________ +Linux-nvdimm mailing list +Linux-nvdimm@lists.01.org +https://lists.01.org/mailman/listinfo/linux-nvdimm diff --git a/a/content_digest b/N2/content_digest index 56b0981..fdc3504 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -4,36 +4,43 @@ "Subject\0Re: [PATCH v6 4/5] dax: for truncate/hole-punch, do zeroing through the driver if possible\0" "Date\0Wed, 11 May 2016 18:39:59 +0000\0" "To\0linux-nvdimm@lists.01.org <linux-nvdimm@lists.01.org>\0" - "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>" - linux-block@vger.kernel.org <linux-block@vger.kernel.org> - hch@infradead.org <hch@infradead.org> + "Cc\0hch@infradead.org <hch@infradead.org>" + jack@suse.cz <jack@suse.cz> + axboe@fb.com <axboe@fb.com> + david@fromorbit.com <david@fromorbit.com> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> xfs@oss.sgi.com <xfs@oss.sgi.com> - jmoyer@redhat.com <jmoyer@redhat.com> + linux-block@vger.kernel.org <linux-block@vger.kernel.org> linux-mm@kvack.org <linux-mm@kvack.org> - Williams - Dan J <dan.j.williams@intel.com> - axboe@fb.com <axboe@fb.com> - akpm@linux-foundation.org <akpm@linux-foundation.org> linux-fsdevel@vger.kernel.org <linux-fsdevel@vger.kernel.org> - ross.zwisler@linux.intel.com <ross.zwisler@linux.intel.com> linux-ext4@vger.kernel.org <linux-ext4@vger.kernel.org> - boaz@plexistor.com <boaz@plexistor.com> - david@fromorbit.com <david@fromorbit.com> - " jack@suse.cz <jack@suse.cz>\0" + " akpm@linux-foundation.org <akpm@linux-foundation.org>\0" "\00:1\0" "b\0" - "T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+\n" - "wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh\n" - "bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs\n" - "DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4\n" - "X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk\n" - "ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3\n" - "bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo\n" - "ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ\n" - "cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl\n" - "bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp\n" - "bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv\n" - "ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv\n" - Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu + "On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote:\n" + ">\302\240\n" + "...\n" + "\n" + "> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode,\n" + "> loff_t from, unsigned length,\n" + "> \302\240\t\t\t.size = PAGE_SIZE,\n" + "> \302\240\t\t};\n" + "> \302\240\n" + "> -\t\tif (dax_map_atomic(bdev, &dax) < 0)\n" + "> -\t\t\treturn PTR_ERR(dax.addr);\n" + "> -\t\tclear_pmem(dax.addr + offset, length);\n" + "> -\t\twmb_pmem();\n" + "> -\t\tdax_unmap_atomic(bdev, &dax);\n" + "> +\t\tif (dax_range_is_aligned(bdev, &dax, offset, length))\n" + "> +\t\t\treturn blkdev_issue_zeroout(bdev, dax.sector,\n" + "> +\t\t\t\t\tlength >> 9, GFP_NOFS, true);\n" + "\n" + "Found another bug here while testing. The zeroout needs to be done for\n" + "sector + (offset >> 9). The above just zeroed out the first sector of\n" + "the page irrespective of offset, which is wrong.\n" + "_______________________________________________\n" + "Linux-nvdimm mailing list\n" + "Linux-nvdimm@lists.01.org\n" + https://lists.01.org/mailman/listinfo/linux-nvdimm -36b2a2dca785b6410a94e1817e2eced5b15c064b8bf94462971b71ca456c61df +ff696199a6cb96da1b6875b5bb05f6ca46ed3721f138619ef352ccccf61a5441
diff --git a/a/1.txt b/N3/1.txt index a8d3c50..6330e4d 100644 --- a/a/1.txt +++ b/N3/1.txt @@ -1,13 +1,25 @@ -T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+ -wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh -bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs -DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4 -X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk -ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3 -bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo -ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ -cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl -bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp -bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv -ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv -Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu +On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote: +> +... + +> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode, +> loff_t from, unsigned length, +> .size = PAGE_SIZE, +> }; +> +> - if (dax_map_atomic(bdev, &dax) < 0) +> - return PTR_ERR(dax.addr); +> - clear_pmem(dax.addr + offset, length); +> - wmb_pmem(); +> - dax_unmap_atomic(bdev, &dax); +> + if (dax_range_is_aligned(bdev, &dax, offset, length)) +> + return blkdev_issue_zeroout(bdev, dax.sector, +> + length >> 9, GFP_NOFS, true); + +Found another bug here while testing. The zeroout needs to be done for +sector + (offset >> 9). The above just zeroed out the first sector of +the page irrespective of offset, which is wrong. +_______________________________________________ +xfs mailing list +xfs@oss.sgi.com +http://oss.sgi.com/mailman/listinfo/xfs diff --git a/a/content_digest b/N3/content_digest index 56b0981..04e233e 100644 --- a/a/content_digest +++ b/N3/content_digest @@ -4,36 +4,47 @@ "Subject\0Re: [PATCH v6 4/5] dax: for truncate/hole-punch, do zeroing through the driver if possible\0" "Date\0Wed, 11 May 2016 18:39:59 +0000\0" "To\0linux-nvdimm@lists.01.org <linux-nvdimm@lists.01.org>\0" - "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>" - linux-block@vger.kernel.org <linux-block@vger.kernel.org> - hch@infradead.org <hch@infradead.org> + "Cc\0hch@infradead.org <hch@infradead.org>" + jack@suse.cz <jack@suse.cz> + boaz@plexistor.com <boaz@plexistor.com> + axboe@fb.com <axboe@fb.com> + linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org> xfs@oss.sgi.com <xfs@oss.sgi.com> - jmoyer@redhat.com <jmoyer@redhat.com> + linux-block@vger.kernel.org <linux-block@vger.kernel.org> linux-mm@kvack.org <linux-mm@kvack.org> + jmoyer@redhat.com <jmoyer@redhat.com> + ross.zwisler@linux.intel.com <ross.zwisler@linux.intel.com> + linux-fsdevel@vger.kernel.org <linux-fsdevel@vger.kernel.org> Williams Dan J <dan.j.williams@intel.com> - axboe@fb.com <axboe@fb.com> - akpm@linux-foundation.org <akpm@linux-foundation.org> - linux-fsdevel@vger.kernel.org <linux-fsdevel@vger.kernel.org> - ross.zwisler@linux.intel.com <ross.zwisler@linux.intel.com> linux-ext4@vger.kernel.org <linux-ext4@vger.kernel.org> - boaz@plexistor.com <boaz@plexistor.com> - david@fromorbit.com <david@fromorbit.com> - " jack@suse.cz <jack@suse.cz>\0" + " akpm@linux-foundation.org <akpm@linux-foundation.org>\0" "\00:1\0" "b\0" - "T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+\n" - "wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh\n" - "bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs\n" - "DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4\n" - "X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk\n" - "ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3\n" - "bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo\n" - "ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ\n" - "cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl\n" - "bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp\n" - "bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv\n" - "ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv\n" - Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu + "On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote:\n" + ">\302\240\n" + "...\n" + "\n" + "> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode,\n" + "> loff_t from, unsigned length,\n" + "> \302\240\t\t\t.size = PAGE_SIZE,\n" + "> \302\240\t\t};\n" + "> \302\240\n" + "> -\t\tif (dax_map_atomic(bdev, &dax) < 0)\n" + "> -\t\t\treturn PTR_ERR(dax.addr);\n" + "> -\t\tclear_pmem(dax.addr + offset, length);\n" + "> -\t\twmb_pmem();\n" + "> -\t\tdax_unmap_atomic(bdev, &dax);\n" + "> +\t\tif (dax_range_is_aligned(bdev, &dax, offset, length))\n" + "> +\t\t\treturn blkdev_issue_zeroout(bdev, dax.sector,\n" + "> +\t\t\t\t\tlength >> 9, GFP_NOFS, true);\n" + "\n" + "Found another bug here while testing. The zeroout needs to be done for\n" + "sector + (offset >> 9). The above just zeroed out the first sector of\n" + "the page irrespective of offset, which is wrong.\n" + "_______________________________________________\n" + "xfs mailing list\n" + "xfs@oss.sgi.com\n" + http://oss.sgi.com/mailman/listinfo/xfs -36b2a2dca785b6410a94e1817e2eced5b15c064b8bf94462971b71ca456c61df +adfeb53ff92865efa68fb47a8438a8d245a6b2eba94de855d57634374ed7b6ee
diff --git a/a/1.txt b/N4/1.txt index a8d3c50..8b2ae34 100644 --- a/a/1.txt +++ b/N4/1.txt @@ -1,13 +1,21 @@ -T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+ -wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh -bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs -DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4 -X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk -ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3 -bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo -ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ -cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl -bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp -bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv -ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv -Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu +On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote: +> +... + +> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode, +> loff_t from, unsigned length, +> .size = PAGE_SIZE, +> }; +> +> - if (dax_map_atomic(bdev, &dax) < 0) +> - return PTR_ERR(dax.addr); +> - clear_pmem(dax.addr + offset, length); +> - wmb_pmem(); +> - dax_unmap_atomic(bdev, &dax); +> + if (dax_range_is_aligned(bdev, &dax, offset, length)) +> + return blkdev_issue_zeroout(bdev, dax.sector, +> + length >> 9, GFP_NOFS, true); + +Found another bug here while testing. The zeroout needs to be done for +sector + (offset >> 9). The above just zeroed out the first sector of +the page irrespective of offset, which is wrong. diff --git a/a/content_digest b/N4/content_digest index 56b0981..319cb2e 100644 --- a/a/content_digest +++ b/N4/content_digest @@ -3,7 +3,7 @@ "From\0Verma, Vishal L <vishal.l.verma@intel.com>\0" "Subject\0Re: [PATCH v6 4/5] dax: for truncate/hole-punch, do zeroing through the driver if possible\0" "Date\0Wed, 11 May 2016 18:39:59 +0000\0" - "To\0linux-nvdimm@lists.01.org <linux-nvdimm@lists.01.org>\0" + "To\0linux-nvdimm@lists.01.org <linux-nvdimm@ml01.01.org>\0" "Cc\0linux-kernel@vger.kernel.org <linux-kernel@vger.kernel.org>" linux-block@vger.kernel.org <linux-block@vger.kernel.org> hch@infradead.org <hch@infradead.org> @@ -22,18 +22,26 @@ " jack@suse.cz <jack@suse.cz>\0" "\00:1\0" "b\0" - "T24gVHVlLCAyMDE2LTA1LTEwIGF0IDEyOjQ5IC0wNjAwLCBWaXNoYWwgVmVybWEgd3JvdGU6DQo+\n" - "wqANCi4uLg0KDQo+IEBAIC0xMjQwLDExICsxMjU0LDE2IEBAIGludCBkYXhfemVyb19wYWdlX3Jh\n" - "bmdlKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQo+IGxvZmZfdCBmcm9tLCB1bnNpZ25lZCBsZW5ndGgs\n" - "DQo+IMKgCQkJLnNpemUgPSBQQUdFX1NJWkUsDQo+IMKgCQl9Ow0KPiDCoA0KPiAtCQlpZiAoZGF4\n" - "X21hcF9hdG9taWMoYmRldiwgJmRheCkgPCAwKQ0KPiAtCQkJcmV0dXJuIFBUUl9FUlIoZGF4LmFk\n" - "ZHIpOw0KPiAtCQljbGVhcl9wbWVtKGRheC5hZGRyICsgb2Zmc2V0LCBsZW5ndGgpOw0KPiAtCQl3\n" - "bWJfcG1lbSgpOw0KPiAtCQlkYXhfdW5tYXBfYXRvbWljKGJkZXYsICZkYXgpOw0KPiArCQlpZiAo\n" - "ZGF4X3JhbmdlX2lzX2FsaWduZWQoYmRldiwgJmRheCwgb2Zmc2V0LCBsZW5ndGgpKQ0KPiArCQkJ\n" - "cmV0dXJuIGJsa2Rldl9pc3N1ZV96ZXJvb3V0KGJkZXYsIGRheC5zZWN0b3IsDQo+ICsJCQkJCWxl\n" - "bmd0aCA+PiA5LCBHRlBfTk9GUywgdHJ1ZSk7DQoNCkZvdW5kIGFub3RoZXIgYnVnIGhlcmUgd2hp\n" - "bGUgdGVzdGluZy4gVGhlIHplcm9vdXQgbmVlZHMgdG8gYmUgZG9uZSBmb3INCnNlY3RvciArIChv\n" - "ZmZzZXQgPj4gOSkuIFRoZSBhYm92ZSBqdXN0IHplcm9lZCBvdXQgdGhlIGZpcnN0IHNlY3RvciBv\n" - Zg0KdGhlIHBhZ2UgaXJyZXNwZWN0aXZlIG9mIG9mZnNldCwgd2hpY2ggaXMgd3Jvbmcu + "On Tue, 2016-05-10 at 12:49 -0600, Vishal Verma wrote:\n" + ">\302\240\n" + "...\n" + "\n" + "> @@ -1240,11 +1254,16 @@ int dax_zero_page_range(struct inode *inode,\n" + "> loff_t from, unsigned length,\n" + "> \302\240\t\t\t.size = PAGE_SIZE,\n" + "> \302\240\t\t};\n" + "> \302\240\n" + "> -\t\tif (dax_map_atomic(bdev, &dax) < 0)\n" + "> -\t\t\treturn PTR_ERR(dax.addr);\n" + "> -\t\tclear_pmem(dax.addr + offset, length);\n" + "> -\t\twmb_pmem();\n" + "> -\t\tdax_unmap_atomic(bdev, &dax);\n" + "> +\t\tif (dax_range_is_aligned(bdev, &dax, offset, length))\n" + "> +\t\t\treturn blkdev_issue_zeroout(bdev, dax.sector,\n" + "> +\t\t\t\t\tlength >> 9, GFP_NOFS, true);\n" + "\n" + "Found another bug here while testing. The zeroout needs to be done for\n" + "sector + (offset >> 9). The above just zeroed out the first sector of\n" + the page irrespective of offset, which is wrong. -36b2a2dca785b6410a94e1817e2eced5b15c064b8bf94462971b71ca456c61df +a6463319cd9243a54e9511cce06ddb490d970c716636e8b1c7d917c409fa994e
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.