Skip to contentSkip to conversation

New: unttached inode after power cut with orphan file feature enabled

Bug 217605 [email protected] 1 participant 5 messages Jun 28, 2023

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=217605

Bug ID: 217605
Summary: unttached inode after power cut with orphan file
feature enabled
Product: File System
Version: 2.5
Hardware: All
OS: Linux
Status: NEW
Severity: normal
Priority: P3
Component: ext4
Assignee: [email protected]
Reporter: [email protected]
Regression: No

Running generic/475(filesystem consistent tests after power cut) could
easily trigger unattached inode error while doing fsck:
Unattached zero-length inode 39405. Clear? no

Unattached inode 39405
Connect to /lost+found? no

Above inconsistence is caused by following process:
P1 P2
ext4_create
inode = ext4_new_inode_start_handle // itable records nlink=1 ext4_add_nondir
err = ext4_add_entry // ENOSPC
ext4_append
ext4_bread
ext4_getblk
ext4_map_blocks // returns ENOSPC
drop_nlink(inode) // won't be updated into disk inode ext4_orphan_add(handle, inode)
ext4_orphan_file_add
ext4_journal_stop(handle)
jbd2_journal_commit_transaction // commit success
>> power cut <<
ext4_fill_super
ext4_load_and_init_journal // itable records nlink=1
ext4_orphan_cleanup
ext4_process_orphan
if (inode->i_nlink) // true, inode won't be deleted

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#1 lore raw

[Bug 217605] unttached inode after power cut with orphan file feature enabled

https://bugzilla.kernel.org/show_bug.cgi?id=217605

--- Comment #1 from Zhihao Cheng ([email protected]) --- reproducer:
1. ./test.sh

[   73.704796] inject err for ino 13 creation
[   73.705523] wait commit journal
[   75.741472] commit trans
[   76.550550] reboot: Restarting system

2. mount /dev/sda temp
umount temp

[   82.683096] orphan replay: reserve 13

3. fsck.ext4 -fn /dev/sda
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Unattached zero-length inode 13. Clear? no

Unattached inode 13
Connect to /lost+found? no

Pass 5: Checking group summary information

/dev/sda: ********** WARNING: Filesystem still has errors **********

/dev/sda: 13/25584 files (0.0% non-contiguous), 12113/102400 block

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#2 lore raw

[Bug 217605] unttached inode after power cut with orphan file feature enabled

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=217605

--- Comment #3 from Zhihao Cheng ([email protected]) --- Created attachment 304498
--> https://bugzilla.kernel.org/attachment.cgi?id=304498&action=edit
test.sh

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#3 lore raw

[Bug 217605] unttached inode after power cut with orphan file feature enabled

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=217605

--- Comment #2 from Zhihao Cheng ([email protected]) --- Created attachment 304497
--> https://bugzilla.kernel.org/attachment.cgi?id=304497&action=edit
diff

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#4 lore raw

[Bug 217605] unttached inode after power cut with orphan file feature enabled

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=217605

--- Comment #4 from Zhihao Cheng ([email protected]) --- (In reply to Zhihao Cheng from comment #1)

Apply diff first of all

Quoted 27 lines

reproducer:
1. ./test.sh

[   73.704796] inject err for ino 13 creation
[   73.705523] wait commit journal
[   75.741472] commit trans
[   76.550550] reboot: Restarting system

2. mount /dev/sda temp
umount temp

[   82.683096] orphan replay: reserve 13

3. fsck.ext4 -fn /dev/sda
e2fsck 1.47.0 (5-Feb-2023)
Pass 1: Checking inodes, blocks, and sizes Pass 2: Checking directory structure Pass 3: Checking directory connectivity Pass 4: Checking reference counts Unattached zero-length inode 13. Clear? no

Unattached inode 13
Connect to /lost+found? no

Pass 5: Checking group summary information

/dev/sda: ********** WARNING: Filesystem still has errors **********

/dev/sda: 13/25584 files (0.0% non-contiguous), 12113/102400 block

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.