Peter Chubb wrote:
>
> ...
> Christoph> - why is the get_block block argument
> Christoph> a sector_t? It presents a logical filesystem block which
> Christoph> usually is larger than the sector, not to mention that for
> Christoph> the usual blocksize == PAGE_SIZE case a ulong is enough as
> Christoph> that is the same size the pagecache limit triggers.
>
> For filesystems that *can* handle logical filesystem blocks beyond the
> 2^32 limit (i.e., that use >32bit offsets in their on-disc format),
> the get_block() argument has to be > 32bits long. At the moment
> that's only JFS and XFS, but reiserfs version 4 looks as if it might
> go that way. We'll need this especially when the pagecache limit is
> gone.
I think Christoph's point is that a pagecache index is not a sector
number. We agree that we need to plan for taking it to 64 bits, but
it should be something different. Like pageindex_t, or whatever.
This:
--- linux-2.5.15/include/linux/mm.h Tue Apr 30 17:56:30 2002
+++ 25/include/linux/mm.h Mon May 13 19:08:21 2002
@@ -148,7 +148,7 @@ struct vm_operations_struct {
typedef struct page {
struct list_head list; /* ->mapping has some page lists. */
struct address_space *mapping; /* The inode (or ...) we belong to. */
- unsigned long index; /* Our offset within mapping. */
+ sector_t index; /* Our offset within mapping. */
atomic_t count; /* Usage count, see below. */
unsigned long flags; /* atomic flags, some possibly
updated asynchronously */
looks rather silly, no?
-
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Tue May 14 2002 - 12:00:22 EST