Bug 65701
Summary: | oops: fs/ext4/ext4_jbd2.c | ||
---|---|---|---|
Product: | File System | Reporter: | loco |
Component: | ext4 | Assignee: | fs_ext4 (fs_ext4) |
Status: | NEW --- | ||
Severity: | normal | CC: | alan, dmonakhov, jack |
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | 3.11.9-gentoo | Subsystem: | |
Regression: | No | Bisected commit-id: | |
Attachments: | this patch should fix an issue |
Description
loco
2013-11-24 23:44:01 UTC
In fact this is not ext4's issue, this is generic fs issue. pipe_write() do not accuire sb_start_write(), as far as I understand this is because pipe should not touch fs's data. But it is not completely correct because pipe want update file's time. Let's use same trick as we use in touch_time() pipe_write will call sb_start_write_try() and skip time update on frozen fs. See proposed patch. Created attachment 115861 [details]
this patch should fix an issue
The patch looks good to me. Feel free to add Reviewed-by: Jan Kara <jack@suse.cz> Can you send it to Al Viro for inclusion? Thanks! BTW initial discussion started here: http://marc.info/?t=134876094300003&r=1&w=2 # Original test case cat /mnt/test/fifo mkfifo /mnt/test/fifo echo foo > /mnt/test/fifo & fsfreeze -f /mnt/test cat /mnt/test/fifo |