• Ryusuke Konishi's avatar
    nilfs2: fix sync silent failure · 973bec34
    Ryusuke Konishi authored
    As of 32a88aa1, __sync_filesystem() will return 0 if s_bdi is not set.
    And nilfs does not set s_bdi anywhere.  I noticed this problem by the
    warning introduced by the recent commit 5129a469 ("Catch filesystem
    lacking s_bdi").
    
     WARNING: at fs/super.c:959 vfs_kern_mount+0xc5/0x14e()
     Hardware name: PowerEdge 2850
     Modules linked in: nilfs2 loop tpm_tis tpm tpm_bios video shpchp pci_hotplug output dcdbas
     Pid: 3773, comm: mount.nilfs2 Not tainted 2.6.34-rc6-debug #38
     Call Trace:
      [<c1028422>] warn_slowpath_common+0x60/0x90
      [<c102845f>] warn_slowpath_null+0xd/0x10
      [<c1095936>] vfs_kern_mount+0xc5/0x14e
      [<c1095a03>] do_kern_mount+0x32/0xbd
      [<c10a811e>] do_mount+0x671/0x6d0
      [<c1073794>] ? __get_free_pages+0x1f/0x21
      [<c10a684f>] ? copy_mount_options+0x2b/0xe2
      [<c107b634>] ? strndup_user+0x48/0x67
      [<c10a81de>] sys_mount+0x61/0x8f
      [<c100280c>] sysenter_do_call+0x12/0x32
    
    This ensures to set s_bdi for nilfs and fixes the sync silent failure.
    Signed-off-by: default avatarRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
    Acked-by: default avatarJens Axboe <jens.axboe@oracle.com>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    973bec34
super.c 29.3 KB