Hi Alexander.

Sorry for late response.

On Sat, Dec 12, 2009 at 02:46:52AM +0300, Alexander Beregalov 
([email protected]) wrote:
> The kernel is 2.6.32-05775-gaad3bf0-dirty now.
> This is my fix to avoid bdi_sync_writeback().

This will not work, since sync_filesystem() will not actually sync any
inodes because there is no bdi - it will just return. And prior syncing
is required to flush all pending inodes to the state when they can be
dropped by kill_anon_super(), otherwise it will spawn warnings about
inodes being used.

> diff --git a/drivers/staging/pohmelfs/inode.c 
> b/drivers/staging/pohmelfs/inode.c
> index f69b778..3e5826f 100644
> --- a/drivers/staging/pohmelfs/inode.c
> +++ b/drivers/staging/pohmelfs/inode.c
> @@ -1941,7 +1941,7 @@ static int pohmelfs_get_sb(struct
> file_system_type *fs_type,
>   */
>  static void pohmelfs_kill_super(struct super_block *sb)
>  {
> -       sync_inodes_sb(sb);
> +       sync_filesystem(sb);
>         kill_anon_super(sb);
>  }
> 
> The problem is somewhere in sync/cache code.
> 
> tar jxf linux.tar.bz2
> make defconfig
...
> Client's dmesg is too noisy to find something useful.

As of problem you caught, I believe only client log will be able to show
the light on this, since it writes basically everything system did with
inodes. I would ask you to squeeze test case as much as possible to find
out the problem, since having kernel untar being logged likely will not
help us much.

Thanks a lot!

-- 
        Evgeniy Polyakov
_______________________________________________
Pohmelfs mailing list
[email protected]
http://www.ioremap.net/cgi-bin/mailman/listinfo/pohmelfs

Reply via email to