+ pass-io-size-to-batch_write-address-space-operation.patch added to -mm tree

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

 



The patch titled

     Pass IO size to batch_write() address space operation

has been added to the -mm tree.  Its filename is

     pass-io-size-to-batch_write-address-space-operation.patch

See http://www.zip.com.au/~akpm/linux/patches/stuff/added-to-mm.txt to find
out what to do about this

------------------------------------------------------
Subject: Pass IO size to batch_write() address space operation
From: Badari Pulavarty <pbadari@xxxxxxxxxx>

Pass remaining size of this IO to batch_write().  This way filesystems
could choose to allocate for the entire IO, instead of current buffer size.

I would like to use this for setting ext3 reservation window or allocating
entire extent (ext4).

Signed-off-by: Badari Pulavarty <pbadari@xxxxxxxxxx>
Cc: Vladimir Saveliev <vs@xxxxxxxxxxx>
Cc: Christoph Hellwig <hch@xxxxxx>
Cc: Hans Reiser <reiser@xxxxxxxxxxx>
Cc: Miklos Szeredi <miklos@xxxxxxxxxx>
Cc: Nathan Scott <nathans@xxxxxxx>
Cc: Steven Whitehouse <swhiteho@xxxxxxxxxx>
Cc: Mark Fasheh <mark.fasheh@xxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxx>
---

 include/linux/fs.h |    2 ++
 mm/filemap.c       |    1 +
 2 files changed, 3 insertions(+)

diff -puN include/linux/fs.h~pass-io-size-to-batch_write-address-space-operation include/linux/fs.h
--- a/include/linux/fs.h~pass-io-size-to-batch_write-address-space-operation
+++ a/include/linux/fs.h
@@ -356,6 +356,7 @@ struct writeback_control;
  * struct write_descriptor - set of write arguments
  * @pos: offset from the start of the file to write to
  * @count: number of bytes to write
+ * @iosize: remaining number of bytes in the IO
  * @buf: pointer to data to be written
  * @lru_pvec: multipage container to batch adding pages to LRU list
  * @cached_page: allocated but not used on previous call
@@ -366,6 +367,7 @@ struct writeback_control;
 struct write_descriptor {
 	loff_t pos;
 	size_t count;
+	size_t iosize;
 	char __user *buf;
 	struct page *cached_page;
 	struct pagevec *lru_pvec;
diff -puN mm/filemap.c~pass-io-size-to-batch_write-address-space-operation mm/filemap.c
--- a/mm/filemap.c~pass-io-size-to-batch_write-address-space-operation
+++ a/mm/filemap.c
@@ -2205,6 +2205,7 @@ generic_file_buffered_write(struct kiocb
 	do {
 		/* do not walk over current segment */
 		desc.buf = cur_iov->iov_base + iov_base;
+		desc.iosize = count;
 		desc.count = min(count, cur_iov->iov_len - iov_base);
 		if (desc.count > 0)
 			status = (*batch_write)(file, &desc, &copied);
_

Patches currently in -mm which might be from pbadari@xxxxxxxxxx are

pass-io-size-to-batch_write-address-space-operation.patch
vectorize-aio_read-aio_write-fileop-methods.patch
vectorize-aio_read-aio_write-fileop-methods-xfs-fix.patch
vectorize-aio_read-aio_write-fileop-methods-hypfs-fix.patch
remove-readv-writev-methods-and-use-aio_read-aio_write.patch
streamline-generic_file_-interfaces-and-filemap.patch
streamline-generic_file_-interfaces-and-filemap-ecryptfs.patch

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

[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux