New: Incorrectly calculated free blocks result in ENOSPC from writepage
https://bugzilla.kernel.org/show_bug.cgi?id=15768
Summary: Incorrectly calculated free blocks result in ENOSPC
from writepage
Product: File System
Version: 2.5
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: high
Priority: P1
Component: ext4
AssignedTo: [email protected]
ReportedBy: [email protected]
CC: [email protected]
Regression: No
Created an attachment (id=25965)
--> (https://bugzilla.kernel.org/attachment.cgi?id=25965)
testcase
No mount per-sb counters (freeblocks/freeinodes/dir and etc) are initialized before journal was replayed.
But in fact if journal wasn't empty statistics will be probably changed after journal replay. This result in per-sb counter inconsistency which result in incorrect delalloc reservation. See testcase.
This is long standing bug at least from 2.6.12 where the linus's tree starts i (was too lazy to dig in to old-git tree).
But it case of ext3 this result only in incorrect numbers from statfs() The fix is simple, we just have to move counter initialisation after journal_reply.
I've open this bug only as testcase storage.
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
https://bugzilla.kernel.org/show_bug.cgi?id=15768
--- Comment #1 from Dmitry Monakhov <[email protected]> 2010-04-12 11:32:41 --- dmesg after testcase check
kjournald2 starting: pid 1310, dev sdb1:8, commit interval 5 seconds EXT4-fs (sdb1): internal journal on sdb1:8
EXT4-fs (sdb1): delayed allocation enabled
EXT4-fs: file extents enabled
EXT4-fs: mballoc enabled
EXT4-fs (sdb1): recovery complete
EXT4-fs (sdb1): mounted filesystem with ordered data mode mpage_da_map_blocks block allocation failed for inode 14 at logical offset 4667 with max blocks 5192 with error -28
This should not happen.!! Data will be lost
Total free blocks count 0
Free/Dirty block details
free_blocks=7222
dirty_blocks=5209
Block reservation details
i_reserved_data_blocks=5192
i_reserved_meta_blocks=17
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
Dmitry Monakhov <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected] Kernel Version| |from 2.6.11 to 2.6.33-rc4
--- Comment #2 from Dmitry Monakhov <[email protected]> 2010-04-12 11:49:51 --- proposed patch http://patchwork.ozlabs.org/patch/49963/
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
--- Comment #3 from Dmitry Monakhov <[email protected]> 2010-04-12 18:30:35 --- (In reply to comment #2)
Quoted 1 line
proposed patch http://patchwork.ozlabs.org/patch/49963/
Opps, the patch attached is wrong in case of no_journal mode. Will send new version soon.
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
--- Comment #4 from Dmitry Monakhov <[email protected]> 2010-04-12 19:14:30 --- Updated version of the fix posted here.
http://patchwork.ozlabs.org/patch/49989/
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
Rafael J. Wysocki <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected] Blocks| |15310
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
Rafael J. Wysocki <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |PATCH_ALREADY_AVAILABLE--- Comment #5 from Rafael J. Wysocki <[email protected]> 2010-05-04 21:15:42 --- Patch : http://patchwork.ozlabs.org/patch/49989/
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.
[Bug 15768] Incorrectly calculated free blocks result in ENOSPC from writepage
In reply to [email protected]https://bugzilla.kernel.org/show_bug.cgi?id=15768
Rafael J. Wysocki <[email protected]> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |CLOSED
Resolution|PATCH_ALREADY_AVAILABLE |CODE_FIX--- Comment #6 from Rafael J. Wysocki <[email protected]> 2010-06-13 11:44:30 --- Fixed by commit 84061e07c5fbbbf9dc8aef8fb750fc3a2dfc31f3 .
Signature · 3 lines
Configure bugmail: https://bugzilla.kernel.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are watching the assignee of the bug.