All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Mahoney <jeffm@suse.com>
To: Chris Mason <mason@suse.com>
Cc: Reiserfs mail-list <Reiserfs-List@Namesys.COM>
Subject: Re: ReiserFS Maximum file size (in practice)
Date: Wed, 19 May 2004 16:04:49 -0400	[thread overview]
Message-ID: <40ABBDE1.9000804@suse.com> (raw)
In-Reply-To: <1084971454.27142.12.camel@watt.suse.com>

Chris Mason wrote:
> We can probably talk Jan Kara into fixing dquot_transfer, and probably
> talk Andrew Morton into allowing a resolution on the inode->i_bytes
> mess.  ext2/3 suffer from the same problem (read ext[23]_max_size).

The comment on ext[23]_max_size doesn't only refer to the in-memory 
i_blocks, but also to the on-disk one as well. Unlike ReiserFS, Ext[23] 
doesn't track blocks as a multiple of the filesystem block size. It 
tracks it as a multiple of 512B blocks, just like the in memory one. 
(see ext[23]_read_inode and ext[23]_do_update_inode; There's no 
blocksize translation)

ReiserFS is artificially limited by the VFS layer (and in its own use of 
i_blocks to update stat_data->sd_blocks); Ext[23] is limited by its own 
disk format. Other than its i_blocks, ext[23]'s triple indirection 
should be able to support files up to ~ 4TB.


> I think I'd rather just fix the quota problem right now, it's a smaller
> change.

I think there's going to be a decent amount of work in either case. 
Definately moreso than the patch I posted earlier. There are two scenarios:

1) Fix just reiserfs. This means adding a sd_blocks field to the 
in-memory inode, increasing every reiserfs inode by 4 bytes. It also 
means that every time a quota operation occurs, we need to follow it 
with an update to our internal block count as well. It's easy enough to 
do, just not pretty.

2) Fix the VFS layer. Fixing the VFS layer is simple, but there are 
filesystems that assume i_blocks is 32-bit already and they'd need to be 
cleaned up also.

Unfortunately, all this may be a moot point anyway. If a file is created 
on a kernel supporting file sizes > 2 TB, and is then updated on a 
previous kernel, wrapping will occur and cause breakage.

-Jeff

-- 
Jeff Mahoney
SuSE Labs

  reply	other threads:[~2004-05-19 20:04 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-18 20:40 ReiserFS Maximum file size (in practice) Jeff Mahoney
2004-05-19  0:45 ` Chris Mason
2004-05-19  8:33   ` Alex Zarochentsev
2004-05-19 12:13   ` Jeffrey Mahoney
2004-05-19 12:57     ` Chris Mason
2004-05-19 20:04       ` Jeff Mahoney [this message]
2004-05-19  5:39 ` Hans Reiser

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=40ABBDE1.9000804@suse.com \
    --to=jeffm@suse.com \
    --cc=Reiserfs-List@Namesys.COM \
    --cc=mason@suse.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.