All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@digeo.com>
To: "Charles P. Wright" <cpwright@cpwright.com>
Cc: linux-fsdevel@vger.kernel.org
Subject: Re: Oops when Deleting Large File
Date: Tue, 21 Jan 2003 12:21:42 -0800	[thread overview]
Message-ID: <3E2DABD6.C3FE91C2@digeo.com> (raw)
In-Reply-To: Pine.LNX.4.44.0301211215110.26132-100000@cpwright.com

"Charles P. Wright" wrote:
> 
> When testing a new disk array I created a large (1.4TB) file that filled
> up the entire file system (dd ended with ENOSPC).  After removing it I got
> an Oops, the machine was totally locked, but I reproduced it over a serial
> line.  Attached is the original Oops and the Oops run through ksymoops
> after a reboot.
> 
> This is using a RedHat stock kernel 2.4.18-19.8.0smp on 8.0.  The file
> system is ext3, and has a total of 1372158232 1k blocks.
> 
> Has anyone else seen this behavior?
> 

Not really.  Could be related to this fix (which I forgot
to send to Marcelo, oops)




Under rare conditions (filesystem corruption, really) it is possible
for ext3_dirty_inode() to require _two_ blocks for the transaction: one
for the inode and one to update the superblock - to set
EXT3_FEATURE_RO_COMPAT_LARGE_FILE.  This causes the filesystem to go
BUG.

So reserve an additional block for that eventuality.


 fs/ext3/inode.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

--- 25/fs/ext3/inode.c~ext3-transaction-reserved-blocks	Sat Dec 14 18:28:21 2002
+++ 25-akpm/fs/ext3/inode.c	Sat Dec 14 18:28:21 2002
@@ -2698,7 +2698,7 @@ void ext3_dirty_inode(struct inode *inod
 	handle_t *handle;
 
 	lock_kernel();
-	handle = ext3_journal_start(inode, 1);
+	handle = ext3_journal_start(inode, 2);
 	if (IS_ERR(handle))
 		goto out;
 	if (current_handle &&

_

      reply	other threads:[~2003-01-21 20:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-01-21 17:19 Oops when Deleting Large File Charles P. Wright
2003-01-21 20:21 ` Andrew Morton [this message]

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=3E2DABD6.C3FE91C2@digeo.com \
    --to=akpm@digeo.com \
    --cc=cpwright@cpwright.com \
    --cc=linux-fsdevel@vger.kernel.org \
    /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.