Guillaume Chazarain a écrit :
Still no luck :-(
First, sorry for the double posting.
The mapping flag is cleared by this call trace:
do_sync(1)
sync_inodes(1)
__sync_inodes(1)
sync_inodes_sb(sb, 1)
sync_sb_inodes(sb, WB_SYNC_ALL)
__writeback_single_inode(inode, WB_SYNC_ALL)
__sync_single_inod
Andrew Morton a écrit :
There's a lot of sloppiness in there. Do these two patches fix things up?
Still no luck :-(
It seems you made it possible for sync() to be aware of the returned
value, but there's nothing it can do with it since it's 'void sync()'.
Then msync() comes after and sees n
Andrew Morton a écrit :
There's a lot of sloppiness in there. Do these two patches fix things up?
Still no luck :-(
You managed to propagate the return value up to the
highest level (sync()), but as it's "void sync()" the return
value is dropped.
When msync() comes after it finds nothing in
On Wed, 03 Jan 2007 23:30:05 +0100
Guillaume Chazarain <[EMAIL PROTECTED]> wrote:
> Unfortunately, with your patch and not mine, the problem is still
> present: msync()
> does not return the error. Both pieces of code (yours and mine) are
> called for the
> same mapping though, albeit yours more
Andrew Morton a écrit :
@@ -365,7 +366,8 @@ sync_sb_inodes(struct super_block *sb, s
BUG_ON(inode->i_state & I_FREEING);
__iget(inode);
pages_skipped = wbc->pages_skipped;
- __writeback_single_inode(inode, wbc);
+ ret = _
> I/O errors could go unnoticed when syncing, for example the following code
> could
> write a file bigger than 10Mib on a 10Mib filesystem. With this patch, msync()
> will report the error originally encountered by sync(). Tuning the number of
> sync may be needed to reproduce the bug.
> make_fil
Against 2.6.20-rc2, and now the bug fix.
--
Guillaume
I/O errors could go unnoticed when syncing, for example the following code could
write a file bigger than 10Mib on a 10Mib filesystem. With this patch, msync()
will report the error originally encountered by sync(). Tuning the number of
sync
7 matches
Mail list logo