All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vishal Verma <vishal.l.verma@intel.com>
To: linux-nvdimm@lists.01.org
Cc: Jens Axboe <axboe@fb.com>, Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <matthew@wil.cx>,
	Dave Chinner <david@fromorbit.com>,
	linux-kernel@vger.kernel.org, xfs@oss.sgi.com,
	linux-block@vger.kernel.org, linux-mm@kvack.org,
	Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org
Subject: [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible
Date: Thu, 28 Apr 2016 15:16:57 -0600	[thread overview]
Message-ID: <1461878218-3844-7-git-send-email-vishal.l.verma@intel.com> (raw)
In-Reply-To: <1461878218-3844-1-git-send-email-vishal.l.verma@intel.com>

In the truncate or hole-punch path in dax, we clear out sub-page ranges.
If these sub-page ranges are sector aligned and sized, we can do the
zeroing through the driver instead so that error-clearing is handled
automatically.

For sub-sector ranges, we still have to rely on clear_pmem and have the
possibility of tripping over errors.

Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 fs/dax.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/fs/dax.c b/fs/dax.c
index 5948d9b..d8c974e 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1196,6 +1196,20 @@ out:
 }
 EXPORT_SYMBOL_GPL(dax_pfn_mkwrite);
 
+static bool dax_range_is_aligned(struct block_device *bdev,
+				 struct blk_dax_ctl *dax, unsigned int offset,
+				 unsigned int length)
+{
+	unsigned short sector_size = bdev_logical_block_size(bdev);
+
+	if (((u64)dax->addr + offset) % sector_size)
+		return false;
+	if (length % sector_size)
+		return false;
+
+	return true;
+}
+
 /**
  * dax_zero_page_range - zero a range within a page of a DAX file
  * @inode: The file being truncated
@@ -1240,11 +1254,17 @@ 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 / bdev_logical_block_size(bdev),
+					GFP_NOFS, true);
+		else {
+			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);
+		}
 	}
 
 	return 0;
-- 
2.5.5

_______________________________________________
Linux-nvdimm mailing list
Linux-nvdimm@lists.01.org
https://lists.01.org/mailman/listinfo/linux-nvdimm

WARNING: multiple messages have this Message-ID (diff)
From: Vishal Verma <vishal.l.verma@intel.com>
To: linux-nvdimm@ml01.01.org
Cc: Vishal Verma <vishal.l.verma@intel.com>,
	linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	xfs@oss.sgi.com, linux-ext4@vger.kernel.org, linux-mm@kvack.org,
	Matthew Wilcox <matthew@freeurl.abc188.com>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>,
	Jens Axboe <axboe@fb.com>, Al Viro <viro@zeniv.linux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Jeff Moyer <jmoyer@redhat.com>
Subject: [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible
Date: Thu, 28 Apr 2016 15:16:57 -0600	[thread overview]
Message-ID: <1461878218-3844-7-git-send-email-vishal.l.verma@intel.com> (raw)
In-Reply-To: <1461878218-3844-1-git-send-email-vishal.l.verma@intel.com>

In the truncate or hole-punch path in dax, we clear out sub-page ranges.
If these sub-page ranges are sector aligned and sized, we can do the
zeroing through the driver instead so that error-clearing is handled
automatically.

For sub-sector ranges, we still have to rely on clear_pmem and have the
possibility of tripping over errors.

Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 fs/dax.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/fs/dax.c b/fs/dax.c
index 5948d9b..d8c974e 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1196,6 +1196,20 @@ out:
 }
 EXPORT_SYMBOL_GPL(dax_pfn_mkwrite);
 
+static bool dax_range_is_aligned(struct block_device *bdev,
+				 struct blk_dax_ctl *dax, unsigned int offset,
+				 unsigned int length)
+{
+	unsigned short sector_size = bdev_logical_block_size(bdev);
+
+	if (((u64)dax->addr + offset) % sector_size)
+		return false;
+	if (length % sector_size)
+		return false;
+
+	return true;
+}
+
 /**
  * dax_zero_page_range - zero a range within a page of a DAX file
  * @inode: The file being truncated
@@ -1240,11 +1254,17 @@ 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 / bdev_logical_block_size(bdev),
+					GFP_NOFS, true);
+		else {
+			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);
+		}
 	}
 
 	return 0;
-- 
2.5.5

WARNING: multiple messages have this Message-ID (diff)
From: Vishal Verma <vishal.l.verma@intel.com>
To: linux-nvdimm@lists.01.org
Cc: Vishal Verma <vishal.l.verma@intel.com>,
	linux-fsdevel@vger.kernel.org, linux-block@vger.kernel.org,
	xfs@oss.sgi.com, linux-ext4@vger.kernel.org, linux-mm@kvack.org,
	Matthew Wilcox <matthew@wil.cx>,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	Dan Williams <dan.j.williams@intel.com>,
	Dave Chinner <david@fromorbit.com>, Jan Kara <jack@suse.cz>,
	Jens Axboe <axboe@fb.com>, Al Viro <viro@zeniv.linux.org.uk>,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org,
	Christoph Hellwig <hch@infradead.org>,
	Jeff Moyer <jmoyer@redhat.com>
Subject: [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible
Date: Thu, 28 Apr 2016 15:16:57 -0600	[thread overview]
Message-ID: <1461878218-3844-7-git-send-email-vishal.l.verma@intel.com> (raw)
In-Reply-To: <1461878218-3844-1-git-send-email-vishal.l.verma@intel.com>

In the truncate or hole-punch path in dax, we clear out sub-page ranges.
If these sub-page ranges are sector aligned and sized, we can do the
zeroing through the driver instead so that error-clearing is handled
automatically.

For sub-sector ranges, we still have to rely on clear_pmem and have the
possibility of tripping over errors.

Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 fs/dax.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/fs/dax.c b/fs/dax.c
index 5948d9b..d8c974e 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1196,6 +1196,20 @@ out:
 }
 EXPORT_SYMBOL_GPL(dax_pfn_mkwrite);
 
+static bool dax_range_is_aligned(struct block_device *bdev,
+				 struct blk_dax_ctl *dax, unsigned int offset,
+				 unsigned int length)
+{
+	unsigned short sector_size = bdev_logical_block_size(bdev);
+
+	if (((u64)dax->addr + offset) % sector_size)
+		return false;
+	if (length % sector_size)
+		return false;
+
+	return true;
+}
+
 /**
  * dax_zero_page_range - zero a range within a page of a DAX file
  * @inode: The file being truncated
@@ -1240,11 +1254,17 @@ 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 / bdev_logical_block_size(bdev),
+					GFP_NOFS, true);
+		else {
+			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);
+		}
 	}
 
 	return 0;
-- 
2.5.5

--
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>

WARNING: multiple messages have this Message-ID (diff)
From: Vishal Verma <vishal.l.verma@intel.com>
To: linux-nvdimm@lists.01.org
Cc: Jens Axboe <axboe@fb.com>, Jan Kara <jack@suse.cz>,
	Andrew Morton <akpm@linux-foundation.org>,
	Matthew Wilcox <matthew@wil.cx>,
	Vishal Verma <vishal.l.verma@intel.com>,
	linux-kernel@vger.kernel.org, xfs@oss.sgi.com,
	linux-block@vger.kernel.org, linux-mm@kvack.org,
	Jeff Moyer <jmoyer@redhat.com>, Al Viro <viro@zeniv.linux.org.uk>,
	Christoph Hellwig <hch@infradead.org>,
	linux-fsdevel@vger.kernel.org,
	Ross Zwisler <ross.zwisler@linux.intel.com>,
	linux-ext4@vger.kernel.org,
	Dan Williams <dan.j.williams@intel.com>
Subject: [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible
Date: Thu, 28 Apr 2016 15:16:57 -0600	[thread overview]
Message-ID: <1461878218-3844-7-git-send-email-vishal.l.verma@intel.com> (raw)
In-Reply-To: <1461878218-3844-1-git-send-email-vishal.l.verma@intel.com>

In the truncate or hole-punch path in dax, we clear out sub-page ranges.
If these sub-page ranges are sector aligned and sized, we can do the
zeroing through the driver instead so that error-clearing is handled
automatically.

For sub-sector ranges, we still have to rely on clear_pmem and have the
possibility of tripping over errors.

Cc: Matthew Wilcox <matthew@wil.cx>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Ross Zwisler <ross.zwisler@linux.intel.com>
Cc: Jeff Moyer <jmoyer@redhat.com>
Cc: Christoph Hellwig <hch@infradead.org>
Cc: Dave Chinner <david@fromorbit.com>
Cc: Jan Kara <jack@suse.cz>
Signed-off-by: Vishal Verma <vishal.l.verma@intel.com>
---
 fs/dax.c | 30 +++++++++++++++++++++++++-----
 1 file changed, 25 insertions(+), 5 deletions(-)

diff --git a/fs/dax.c b/fs/dax.c
index 5948d9b..d8c974e 100644
--- a/fs/dax.c
+++ b/fs/dax.c
@@ -1196,6 +1196,20 @@ out:
 }
 EXPORT_SYMBOL_GPL(dax_pfn_mkwrite);
 
+static bool dax_range_is_aligned(struct block_device *bdev,
+				 struct blk_dax_ctl *dax, unsigned int offset,
+				 unsigned int length)
+{
+	unsigned short sector_size = bdev_logical_block_size(bdev);
+
+	if (((u64)dax->addr + offset) % sector_size)
+		return false;
+	if (length % sector_size)
+		return false;
+
+	return true;
+}
+
 /**
  * dax_zero_page_range - zero a range within a page of a DAX file
  * @inode: The file being truncated
@@ -1240,11 +1254,17 @@ 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 / bdev_logical_block_size(bdev),
+					GFP_NOFS, true);
+		else {
+			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);
+		}
 	}
 
 	return 0;
-- 
2.5.5

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  parent reply	other threads:[~2016-04-28 21:17 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-28 21:16 [PATCH v4 0/7] dax: handling media errors Vishal Verma
2016-04-28 21:16 ` Vishal Verma
2016-04-28 21:16 ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 1/7] block, dax: pass blk_dax_ctl through to drivers Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 2/7] dax: fallback from pmd to pte on error Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 3/7] dax: enable dax in the presence of known media errors (badblocks) Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 4/7] dax: use sb_issue_zerout instead of calling dax_clear_sectors Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 5/7] fs: prioritize and separate direct_io from dax_io Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-05-02 14:56   ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 14:56     ` Christoph Hellwig
2016-05-02 15:45     ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:45       ` Vishal Verma
2016-05-02 15:41   ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:41     ` Boaz Harrosh
2016-05-02 15:51     ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 15:51       ` Vishal Verma
2016-05-02 16:03       ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 16:03         ` Boaz Harrosh
2016-05-02 18:52         ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 18:52           ` Verma, Vishal L
2016-05-02 16:01     ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:01       ` Dan Williams
2016-05-02 16:22       ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:22         ` Boaz Harrosh
2016-05-02 16:49         ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 16:49           ` Dan Williams
2016-05-02 17:44           ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 17:44             ` Boaz Harrosh
2016-05-02 18:10             ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:10               ` Dan Williams
2016-05-02 18:32               ` Boaz Harrosh
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:32                 ` Boaz Harrosh
2016-05-02 18:48                 ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 18:48                   ` Dan Williams
2016-05-02 19:22                   ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-02 19:22                     ` Boaz Harrosh
2016-05-05 14:24     ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 14:24       ` Christoph Hellwig
2016-05-05 15:15       ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:15         ` Dan Williams
2016-05-05 15:22         ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 15:22           ` Christoph Hellwig
2016-05-05 16:24           ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 16:24             ` Dan Williams
2016-05-05 21:45           ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-05 21:45             ` Verma, Vishal L
2016-05-08  9:01             ` hch
2016-05-08  9:01               ` hch
2016-05-08  9:01               ` hch
2016-05-08  9:01               ` hch
2016-05-08 18:42               ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-08 18:42                 ` Verma, Vishal L
2016-05-05 21:42         ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:42           ` Verma, Vishal L
2016-05-05 21:39       ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-05 21:39         ` Verma, Vishal L
2016-05-08  9:01         ` hch
2016-05-08  9:01           ` hch
2016-05-08  9:01           ` hch
2016-05-08  9:01           ` hch
2016-04-28 21:16 ` Vishal Verma [this message]
2016-04-28 21:16   ` [PATCH v4 6/7] dax: for truncate/hole-punch, do zeroing through the driver if possible Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16 ` [PATCH v4 7/7] dax: fix a comment in dax_zero_page_range and dax_truncate_page Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-28 21:16   ` Vishal Verma
2016-04-29 21:55 ` [PATCH v4 8/7] Documentation: add error handling information to dax.txt Vishal Verma
2016-04-29 21:55   ` Vishal Verma
2016-04-29 21:55   ` Vishal Verma
2016-04-29 21:55   ` Vishal Verma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1461878218-3844-7-git-send-email-vishal.l.verma@intel.com \
    --to=vishal.l.verma@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=axboe@fb.com \
    --cc=david@fromorbit.com \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.org \
    --cc=matthew@wil.cx \
    --cc=viro@zeniv.linux.org.uk \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.