Messages in this thread | | | Date | Sat, 30 Dec 2000 12:21:50 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: [RFC] Generic deferred file writing |
| |
On Sat, 30 Dec 2000, Alexander Viro wrote: > > Except that we've got file-expanding writes outside of ->i_sem. Thanks, but > no thanks.
No, Al, the file size is still updated inside i_sem.
Yes, it will do actual block allocation outside i_sem, but that is already true of any mmap'ed writes, and has been true for a long long time. So if we have a bug here (and I don't think we have one), it's not something new. But the inode semaphore doesn't protect the balloc() data structures anyway, as they are filesystem-global.
If you're nervous about the effects of "truncate()", then that should be handled properly by truncate_inode_pages().
In short, I don't see _those_ kinds of issues. I do see error reporting as a major issue, though. If we need to do proper low-level block allocation in order to get correct ENOSPC handling, then the win from doing deferred writes is not very big.
Linus
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |