From: Mingming Cao <cmm@us.ibm.com>
To: Alex Tomas <alex@clusterfs.com>
Cc: Dmitriy Monakhov <dmonakhov@sw.ru>, linux-ext4@vger.kernel.org
Subject: Re: delayed allocatiou result in Oops
Date: Tue, 19 Jun 2007 09:23:49 -0700 [thread overview]
Message-ID: <1182270229.4113.8.camel@dyn9047017103.beaverton.ibm.com> (raw)
In-Reply-To: <46778186.9030306@clusterfs.com>
On Tue, 2007-06-19 at 11:11 +0400, Alex Tomas wrote:
> Mingming Cao wrote:
> >>From the comments it says the page->private is set to 1 to letting
> > commit_write know that it needs block reservation, but I don't see the
> > page->private value being checked in ext4_wb_commit_write(). Instead,
> > the PageMappedToDisk(page) flag is being checked.
> >
> > Alex, can you clarify the use of page->private and PagePrivate flag
> > here? Do we still need the page->private for delayed allocation, with
> > PageBooked flag and PageMappedToDisk page flag?
>
> sorry for confusion, we need PagePrivate so that truncate calls our
> ->invalidatepage(). in turn this call is needed to drop unused reservation.
One more question, do we still need page->private? I don't see page-
>private value being checked anywhere. I see you cleared
PageMappedToDisk page flag at prepare_write, and checked
PageMappedToDisk in commit_write()...
Hmm, PageMappedToDisk is probably not sufficient enough for pagesize!
=blocksize. Is that the reason we need page->private to pass the
request?
> block_read_full_page() must not happen to pages being delayed allocated
> in the first place - it's uptodate by definition. I think the problem
> began when ext4_wb_commit_write() exited due to -ENOSPC but left not
> uptodate *and* with PG_private. then subsequent access to page turned to
> block_read_full_page() which relies on PG_private and meaningful private
> field. Dmitry, could you repeat the test with SetPagePrivate(page) moved
> to after that if() with ext4_wb_reserve_space_page(), please?
>
>
> as i'm here ... status update: I've been reworking delayed allocation
> patches to support blocksize < PAGE_CACHE_SIZE (and address akpm's request
> for more generic implementation). the patch isn't ready for review, but
> hopefully will be in few days.
>
That's good to know, thanks for the update. So probably above error case
handling will be addressed in the new version?
BTW, can you point me your latest and greatest mballoc patch? I am
trying to forward port and merge that patch to ext4 patch queue....
Thanks,
Mingming
>
> thanks, Alex
>
>
next prev parent reply other threads:[~2007-06-19 16:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-14 7:23 delayed allocatiou result in Oops Dmitriy Monakhov
2007-06-15 5:14 ` Alex Tomas
2007-06-15 23:16 ` Mingming Cao
2007-06-16 8:02 ` [PATCH] ext4:fix invariant checking in ext4_rebalance_reservation Dmitriy Monakhov
2007-06-18 21:09 ` Mingming Cao
2007-06-19 5:56 ` Dmitry Monakhov
2007-06-16 8:14 ` delayed allocatiou result in Oops Dmitriy Monakhov
2007-06-19 1:01 ` Mingming Cao
2007-06-19 7:11 ` Alex Tomas
2007-06-19 9:16 ` Dmitry Monakhov
2007-06-19 9:36 ` Alex Tomas
2007-06-19 21:50 ` Andreas Dilger
2007-06-19 16:23 ` Mingming Cao [this message]
2007-06-19 16:47 ` Aneesh Kumar K.V
2007-06-20 8:15 ` Alex Tomas
2007-06-20 23:46 ` Mingming Cao
2007-06-21 4:50 ` Dmitry Monakhov
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=1182270229.4113.8.camel@dyn9047017103.beaverton.ibm.com \
--to=cmm@us.ibm.com \
--cc=alex@clusterfs.com \
--cc=dmonakhov@sw.ru \
--cc=linux-ext4@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox