| From | Subject | Date |
|---|---|---|
| tytso | Re: [PATCH] ext4: check missed return value ext4_sync_file
We could potentially put the dirty flag in the inode instead, and set
it write_prepare() and writepages() code paths. I'm not entirely sure
I've added this to the ext4 patch queue, and I will ignore your
earlier version of the patch.
- Ted
--
| Mar 21, 5:50 pm 2010 |
| Dmitry Monakhov | Re: [PATCH 1/2] ext4/jbd2: fix io-barrier logic in case ...
Yes.
BTW Would it be correct to update j_tail in
jbd2_journal_commit_transaction() to something more recent
if we have issued an io-barrier to j_fs_dev?
This will helps to reduce journal_recovery time which may be really
painful in some slow devices.
I've take a look at async commit logic: fs/jbd2/commit.c
void jbd2_journal_commit_transaction(journal_t *journal)
{
725: /* Done it all: now write the commit record asynchronously. */
if (JBD2_HAS_INCOMPAT_FEATURE(journal,
...
| Mar 22, 7:04 am 2010 |
| Dmitry Monakhov | Re: [PATCH 1/2] ext4/jbd2: fix io-barrier logic in case ...
This means that we will end up with two io-barriers in a row
for external journal case:
ext4_sync_file()
->jbd2_log_start_commit()
->blkdev_issue_flush(j_fs_dev)
/* seems following flush is mandatory to guarantee the metadata
* consistency */
->blkdev_issue_flush(j_fs_dev)
may be it will be better to pass some sort of barrier flag to
jbd2_log_start_commit() this function mark journal->j_commit_request
with ->t_flushed_data_blocks = 1, so io-carrier will be issued
even if ...
| Mar 22, 9:14 am 2010 |
| tytso | Re: [PATCH 1/2] ext4/jbd2: fix io-barrier logic in case ...
I'm not convinced this is right.
From your test case, the problem isn't because we have journaled
metadata blocks (which is what bufs) counts, but because fsync()
depends on data blocks also getting flushed out to disks.
However, if we aren't closing the transaction because of fsync(), I
don't think we need to do a barrier in the case of an external
journal. So instead of effectively unconditionally setting
t_flushed_data_blocks (since bufs is nearly always going to be
non-zero), I think ...
| Mar 21, 6:20 pm 2010 |
| tytso | Re: [PATCH 1/2] ext4/jbd2: fix io-barrier logic in case ...
Just to be clear, since I realized I wrote fsync() when I should have
written fs/ext4/fsync.c, my proposal was to put this check in
Um, maybe. We are already calling __jbd2_journal_clean_checkpoint_list(),
and the barrier operation *is* expensive.
On the other hand, updating the journal superblock on every sync is
another seek that would have to made before the barrier operation, and
I'm a bit concerned that this seek would be noticeable. If it is
noticeable, is it worth it to optimize ...
| Mar 22, 8:03 am 2010 |
| tytso | Re: [PATCH 1/2] ext4/jbd2: fix io-barrier logic in case ...
Well, not if we only issue a barrier in the external barrier case....
Yeah, I don't think jbd2_log_start_commit() has the semantics that are
currently documented. We will return 0 if we wake up the commit
thread, yes --- but since we only check j_commit_request, and it's a
geq test, it might very well be the case that the transaction was
committed long ago, and so we end up kicking off a transaction commit
when one is not needed. Or, it may be that a transaction is just
already being ...
| Mar 22, 1:22 pm 2010 |
| tytso | Re: [PATCH] memory leakage in ext4_ext_zeroout
Thanks for the patch.
This is what I've checked in, which also simplifies the error handling
a bit and makes the code a bit easier to follow.
- Ted
ext4: fix memory leaks in error path handling of ext4_ext_zeroout()
From: jing zhang <zj.barak@gmail.com>
When EIO occurs after bio is submitted, there is no memory free
operation for bio, which results in memory leakage. And there is also
no check against bio_alloc() for bio.
Acked-by: Dave Kleikamp ...
| Mar 21, 6:02 pm 2010 |
| tytso | Re: [PATCH] ext4: Fix coding style in fs/ext4/move_extent.c
I've added this to the ext4 patch queue with the following changelog
description:
ext4: Fix coding style in fs/ext4/move_extent.c
From: Steven Liu <lingjiujianke@gmail.com>
Making sure ee_block is initialized to zero to prevent gcc from
kvetching. It's harmless (although it's not obvious that it's
harmless) from code inspection:
fs/ext4/move_extent.c:478: warning: 'start_ext.ee_block' may be used
uninitialized in this function
Thanks to Stefan Richter for first bringing this to the ...
| Mar 21, 5:20 pm 2010 |
| tytso | Re: [PATCH] ext4: memory leakage in ext4_mb_init()
It would be better if this could be done by making ext4_mb_release()
more flexible, and then calling ext4_mb_release() if there is an error
setting up the data structures in ext4_mb_init().
- Ted
--
| Mar 21, 6:27 pm 2010 |
| bugzilla-daemon | [Bug 15576] Data Loss (flex_bg and ext4_mb_generate_budd ...
https://bugzilla.kernel.org/show_bug.cgi?id=15576
--- Comment #1 from Theodore Tso <tytso@mit.edu> 2010-03-22 02:13:37 ---
On Fri, Mar 19, 2010 at 01:05:23AM +0000, bugzilla-daemon@bugzilla.kernel.org
This is an e2fsprogs bug. If you run e2fsck at this point, pass 5
errors will be reported, that exactly correspond with what you report
the kernel ends up complaining about:
Free blocks count wrong for group #12 (2, counted=0).
Free blocks count wrong for group #13 (2, ...
| Mar 21, 7:13 pm 2010 |
| bugzilla-daemon | [Bug 15576] Data Loss (flex_bg and ext4_mb_generate_budd ...
https://bugzilla.kernel.org/show_bug.cgi?id=15576
--- Comment #2 from xpenev@gmail.com 2010-03-22 05:34:37 ---
You guys are awesome :) This let's me get back on my way.
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
| Mar 21, 10:34 pm 2010 |
| tytso | Re: [PATCH] ext4: remove unnecessary operation in ext4_m ...
Please separate things like this into two separate patches; it makes
them much easier to review.
Thanks,
- Ted
--
| Mar 22, 11:26 am 2010 |
| jing zhang | [PATCH] ext4: remove unnecessary operation in ext4_mb_re ...
From: Jing Zhang <zj.barak@gmail.com>
Date: Mon Mar 22 22:20:38 2010
1, In one of the hot functions in mballoc.c, unnecessary operation on
struct ext4_group_desc *desc;
is removed.
2, Unlike spin_lock() and spin_unlock(), ext4_mb_load_buddy() is
companied by ext4_mb_release_desc. And it is hard, at least for me, to
get sure that ext4_mb_release_desc has little to do with struct
ext4_group_desc, and for those readers as well, whose native language
is not English. It seems ...
| Mar 22, 7:35 am 2010 |
| Curt Wohlgemuth | [PATCH] ext4: Fix buffer head ref leaks after calls to ...
Fix buffer head reference leaks in ext4_write_inode() and
ext4_xattr_fiemap().
Signed-off-by: Curt Wohlgemuth <curtw@google.com>
---
ext4_get_inode_loc() returns with a reference to the iloc->bh; the two call
sites below do not release this reference.
diff -uprN orig/fs/ext4/extents.c new/fs/ext4/extents.c
--- orig/fs/ext4/extents.c 2010-03-22 08:16:57.000000000 -0700
+++ new/fs/ext4/extents.c 2010-03-22 08:35:40.000000000 -0700
@@ -3879,6 +3879,7 @@ static int ext4_xattr_fiemap(struct ...
| Mar 22, 8:46 am 2010 |
| Jan Kara | Re: Help on Implementation of EXT3 type Ordered Mode in EXT4
Hi,
We have a BH_Delay flag for this already. OK, probably you need a
temporary flag which you can clear in ext4_da_write_begin. I'd find
counting number of BH_Delay buffers before and after block_write_begin
Probably you are hitting some lock inversion problem. I suggest you
compile the kernel with lockdep enabled (in Kernel hacking -> Lock debugging
-> Prove lock correctness or something like that) and see whether it issues
some warnings. If not, you can get backtraces of the locked up ...
| Mar 22, 9:52 am 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #6 from Eric Sandeen <sandeen@redhat.com> 2010-03-22 16:51:25 ---
I'm very sorry, my fingers translated my brain wrong ;) Ideally we can start
with dumpe2fs -h (not e2image -h, sorry) to quickly recreate a similar
filesystem, and try expanding it.
Keep that e2image around though just in case (although we would need one
created with -r to use it)
Thanks,
-Eric
--
Configure bugmail: ...
| Mar 22, 9:51 am 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #7 from Alessandro Polverini <alex@nibbles.it> 2010-03-22 17:00:22 ---
Hello Eric,
here is the output of dumpe2fs (the file system was mounted when running it).
Please note that now the FS has been expanded, but the operation has been done
(like the other times) offline (unmounted). The kernel hangs when trying to do
it online (mounted).
dumpe2fs 1.41.3 (12-Oct-2008)
Filesystem volume name: <none>
Last mounted on: ...
| Mar 22, 10:00 am 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #8 from Eric Sandeen <sandeen@redhat.com> 2010-03-22 19:08:48 ---
Hm, so now that dumpe2fs output is already expanded ... ideally we'd have had
the pre-resize geometry to work with ... but I'll see what I can do.
-Eric
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
| Mar 22, 12:08 pm 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #9 from Alessandro Polverini <alex@nibbles.it> 2010-03-22 20:16:20 ---
The problem is reproducible at will, this is not the first time I resized the
partition and everytime there was a kernel oops.
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
| Mar 22, 1:16 pm 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #10 from Eric Sandeen <sandeen@redhat.com> 2010-03-22 20:26:22 ---
ah so you've been incrementally resizing it and it oopses each time? hmmm
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
| Mar 22, 1:26 pm 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #11 from Alessandro Polverini <alex@nibbles.it> 2010-03-22 20:41:25 ---
Yes, a kernel oops each time.
And each time I made a new test I upgraded the kernel, so I verified the
problem on all versions from 2.6.29 to 2.6.32, if I remember well.
--
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
| Mar 22, 1:41 pm 2010 |
| bugzilla-daemon | [Bug 15579] ext4 -o discard produces incorrect blocks of ...
https://bugzilla.kernel.org/show_bug.cgi?id=15579
Eric Sandeen <sandeen@redhat.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |sandeen@redhat.com
--- Comment #4 from Eric Sandeen <sandeen@redhat.com> 2010-03-22 21:40:52 ---
Just for what it's worth, I've had trouble reproducing this on another brand of
SSD... something like this (don't ...
| Mar 22, 2:41 pm 2010 |
| bugzilla-daemon | [Bug 13549] Kernel oops while online resizing of an ext4 ...
https://bugzilla.kernel.org/show_bug.cgi?id=13549
--- Comment #12 from Eric Sandeen <sandeen@redhat.com> 2010-03-22 21:51:35 ---
I'm afraid I've not been able to reproduce it:
create a sparse loopback filesystem:
[root@inode test]# touch fsfile
[root@inode test]# truncate --size 1020054732800 fsfile
[root@inode test]# ls -lh fsfile
-rw-r--r--. 1 root root 950G Mar 22 16:28 fsfile
[root@inode test]# mkfs.ext4 fsfile
mke2fs 1.41.10 (10-Feb-2009)
<at this point I checked that ...
| Mar 22, 2:51 pm 2010 |
| Andreas Dilger | [PATCH] avoid scanning bitmaps for group preallocation
Here is the patch I mentioned today on the call. It avoids (or at
least reduces) serious latency (10 minutes or more) on a large
filesystem (8TB+) on the first write, if the filesystem is nearly
full. The latency is entirely due to seeking to read the block
bitmaps, so is considerably less serious on flex_bg formatted
filesystems.
A better long-term approach would be to store in the superblock the
last group that had space to allocate a stripe-sized chunk and/or flag
in the ...
| Mar 22, 3:03 pm 2010 |
| previous day | today | next day |
|---|---|---|
| March 21, 2010 | March 22, 2010 | March 23, 2010 |
