Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-05 Thread Guillaume Chazarain
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

Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-04 Thread Guillaume Chazarain
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

Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-04 Thread Guillaume Chazarain
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

Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-03 Thread Andrew Morton
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

Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-03 Thread Guillaume Chazarain
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 = _

Re: [PATCH 2/2] Handle error in sync_sb_inodes()

2007-01-02 Thread Andrew Morton
> 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

[PATCH 2/2] Handle error in sync_sb_inodes()

2006-12-29 Thread Guillaume Chazarain
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