[Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4.
From: Stephen Tweedie (sct_at_redhat.com)
Date: 09/30/04
- Previous message: Zwane Mwaikambo: "Re: [ACPI] [PATCH] Updated patches for PCI IRQ resource deallocation support [2/3]"
- Next in thread: Manfred Spraul: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Maybe reply: Manfred Spraul: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Reply: Andreas Dilger: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 30 Sep 2004 14:23:10 +0100 To: linux-kernel@vger.kernel.org, Andrew Morton <akpm@osdl.org>, Andreas Dilger <adilger@clusterfs.com>, "Theodore Ts'o" <tytso@mit.edu>, ext2-devel@lists.sourceforge.net
The patches to follow clean up a lot of the ext3 online reservation
code in 2.6.9-rc2-mm4. There are a few minor fixes for things like
loglevels of printks and correcting some error returns, plus
refactoring a bit of existing ext3 code to allow resize to avoid dummy
on-stack inodes.
There's also a review of the whole SMP locking of the resize. Locking
is minimised: the impact on the hot path consists of nothing more than
an smp_rmb() before we test sb->s_groups_count. That's a noop on x86,
but is a bit expensive on archs with a weak memory order; I've tried to
minimise that by reading it just once where previously it was read each
time round a loop, but I don't see how to avoid the cost entirely.
Finally, sb->s_debts is nuked from ext3. It's broken already, as per my
email a week or two ago --- the per-group s_debt[] counts never get
modified. We could probably do with nuking it from ext2 too, as it's
(differently) broken there (performs unlocked byte inc/dec operations on
a shared array and is vulnerable to word-tearing problems.)
This should address all of the points akpm had in his review of resize
a while back, except for the documentation/user space side of things
and the lack of error checking in certain ext3_journal_dirty_metadata
calls: I'm still fixing those up (I'll try to push out a working
user-space for this later today.)
-
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/
- Previous message: Zwane Mwaikambo: "Re: [ACPI] [PATCH] Updated patches for PCI IRQ resource deallocation support [2/3]"
- Next in thread: Manfred Spraul: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Maybe reply: Manfred Spraul: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Reply: Andreas Dilger: "Re: [Patch 0/10]: Cleanup online reservations for 2.6.9-rc2-mm4."
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
- Re: Converting from Reiser to Ext3
... a while ago i was searching for resize options of ext3 (because I ...
(alt.os.linux.suse) - Re: reiserfs or ext3 on lvm?
... The man page for resize2fs says it will resize both ext2 and ext3 systems ...
Online resizer for ext2/3 is flakey, ... I agree with houghi though... ...
(alt.os.linux.suse) - Re: reiserfs or ext3 on lvm?
... I've used lvm a lot and it's always worked a treat with reiserfs, ... If I go
with the default ext3 can I resize partitions on the fly or is ... A partition
is a part of the disk layout. ... (alt.os.linux.suse) - Re: reiserfs or ext3 on lvm?
... partition but the question is still the same - can I resize an ext3 file ...
system without loss of data? ... The man page for resize2fs says it will resize
both ext2 and ext3 systems ... (alt.os.linux.suse) - Re: 1352 NUL bytes at the end of a page? (was Re: Assertion `s && s->tree failed: The sag
... >> elsewhere, we are writing to a tmp file, the tmp file is NOT mmapped. ...
You've described it correctly for reiserfs though, we unlock the page ... I don't see how
you can trigger this on ext3 without truncate jumping ... send the line "unsubscribe
linux-kernel" in ... (Linux-Kernel)