New: unttached inode after power cut with orphan file feature enabled
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.
[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.
[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=edittest.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.
[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.
[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 system2. mount
/dev/sdatemp
umount temp[ 82.683096] orphan replay: reserve 133. 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? noUnattached inode 13
Connect to /lost+found? noPass 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.