Re: [Patch v2 02/15] CIFS: Add support for direct pages in rdata

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/25/2018 5:01 PM, Jason Gunthorpe wrote:
On Sat, Jun 23, 2018 at 09:50:20PM -0400, Tom Talpey wrote:
On 5/30/2018 3:47 PM, Long Li wrote:
From: Long Li <longli@xxxxxxxxxxxxx>

Add a function to allocate rdata without allocating pages for data
transfer. This gives the caller an option to pass a number of pages
that point to the data buffer.

rdata is still reponsible for free those pages after it's done.

"Caller" is still responsible? Or is the rdata somehow freeing itself
via another mechanism?


Signed-off-by: Long Li <longli@xxxxxxxxxxxxx>
  fs/cifs/cifsglob.h |  2 +-
  fs/cifs/file.c     | 23 ++++++++++++++++++++---
  2 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 8d16c3e..56864a87 100644
+++ b/fs/cifs/cifsglob.h
@@ -1179,7 +1179,7 @@ struct cifs_readdata {
  	unsigned int			tailsz;
  	unsigned int			credits;
  	unsigned int			nr_pages;
-	struct page			*pages[];
+	struct page			**pages;

Technically speaking, these are syntactically equivalent. It may not
be worth changing this historic definition.

[] is a C99 'flex array', it has a different allocation behavior than
** and is not interchangeable..

In that case, it's an even better reason to not change the declaration.

Tom.

--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux