[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4762C470.8040003@redhat.com>
Date: Fri, 14 Dec 2007 11:59:12 -0600
From: Eric Sandeen <sandeen@...hat.com>
To: Linux Kernel Mailing List <linux-kernel@...r.kernel.org>
CC: Andrew Morton <akpm@...l.org>,
ext4 development <linux-ext4@...r.kernel.org>
Subject: [PATCH] export iov_shorten for ext4's use
ext4 needs to deal with 2 different max file offsets for block- and
extent-allocated file formats, whereas the s_maxbytes scheme can only deal
with one. So, for block-allocated files, we must catch and fix up
too-large offsets from within the filesystem.
Having iov_shorten exported allows such things as:
if (pos + length > sbi->s_bitmap_maxbytes) {
nr_segs = iov_shorten((struct iovec *)iov, nr_segs,
sbi->s_bitmap_maxbytes - pos);
}
to fix up too-large writes to these files in ext4_file_write().
This patch is currently living in the ext4 patch queue.
Signed-off-by: Eric Sandeen <sandeen@...hat.com>
---
Index: linux-2.6.24-rc3/fs/read_write.c
===================================================================
--- linux-2.6.24-rc3.orig/fs/read_write.c
+++ linux-2.6.24-rc3/fs/read_write.c
@@ -451,6 +451,8 @@ unsigned long iov_shorten(struct iovec *
return seg;
}
+EXPORT_SYMBOL(iov_shorten);
+
ssize_t do_sync_readv_writev(struct file *filp, const struct iovec *iov,
unsigned long nr_segs, size_t len, loff_t *ppos, iov_fn_t fn)
{
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists