Skip to contentSkip to conversation

New: Incorrectly calculated free blocks result in ENOSPC from writepage

Bug 15768 [email protected] 1 participant 8 messages Apr 12, 2010 – Jun 13, 2010

lore
Share & tools
lore
#0 lore raw

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.
#1 lore raw

[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.
#2 lore raw

[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.
#3 lore raw

[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.
#4 lore raw

[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.
#5 lore raw

[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.
#6 lore raw

[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.
#7 lore raw

[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.