1. 23 10月, 2010 15 次提交
  2. 05 10月, 2010 2 次提交
    • J
      BKL: Remove BKL from NILFS2 · d6d4c19c
      Jan Blunck 提交于
      The BKL is only used in put_super, fill_super and remount_fs that are all
      three protected by the superblocks s_umount rw_semaphore. Therefore it is
      safe to remove the BKL entirely.
      Signed-off-by: NJan Blunck <jblunck@infradead.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      d6d4c19c
    • J
      BKL: Explicitly add BKL around get_sb/fill_super · db719222
      Jan Blunck 提交于
      This patch is a preparation necessary to remove the BKL from do_new_mount().
      It explicitly adds calls to lock_kernel()/unlock_kernel() around
      get_sb/fill_super operations for filesystems that still uses the BKL.
      
      I've read through all the code formerly covered by the BKL inside
      do_kern_mount() and have satisfied myself that it doesn't need the BKL
      any more.
      
      do_kern_mount() is already called without the BKL when mounting the rootfs
      and in nfsctl. do_kern_mount() calls vfs_kern_mount(), which is called
      from various places without BKL: simple_pin_fs(), nfs_do_clone_mount()
      through nfs_follow_mountpoint(), afs_mntpt_do_automount() through
      afs_mntpt_follow_link(). Both later functions are actually the filesystems
      follow_link inode operation. vfs_kern_mount() is calling the specified
      get_sb function and lets the filesystem do its job by calling the given
      fill_super function.
      
      Therefore I think it is safe to push down the BKL from the VFS to the
      low-level filesystems get_sb/fill_super operation.
      
      [arnd: do not add the BKL to those file systems that already
             don't use it elsewhere]
      Signed-off-by: NJan Blunck <jblunck@infradead.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Christoph Hellwig <hch@infradead.org>
      db719222
  3. 18 8月, 2010 1 次提交
  4. 16 8月, 2010 1 次提交
    • R
      nilfs2: fix list corruption after ifile creation failure · af4e3631
      Ryusuke Konishi 提交于
      If nilfs_attach_checkpoint() gets a memory allocation failure during
      creation of ifile, it will return without removing nilfs_sb_info
      struct from ns_supers list.  When a concurrently mounted snapshot is
      unmounted or another new snapshot is mounted after that, this causes
      kernel oops as below:
      
      > BUG: unable to handle kernel NULL pointer dereference at (null)
      > IP: [<f83662ff>] nilfs_find_sbinfo+0x74/0xa4 [nilfs2]
      > *pde = 00000000
      > Oops: 0000 [#1] SMP
      <snip>
      > Call Trace:
      >  [<f835dc29>] ? nilfs_get_sb+0x165/0x532 [nilfs2]
      >  [<c1173c87>] ? ida_get_new_above+0x16d/0x187
      >  [<c109a7f8>] ? alloc_vfsmnt+0x7e/0x10a
      >  [<c1070790>] ? kstrdup+0x2c/0x40
      >  [<c1089041>] ? vfs_kern_mount+0x96/0x14e
      >  [<c108913d>] ? do_kern_mount+0x32/0xbd
      >  [<c109b331>] ? do_mount+0x642/0x6a1
      >  [<c101a415>] ? do_page_fault+0x0/0x2d1
      >  [<c1099c00>] ? copy_mount_options+0x80/0xe2
      >  [<c10705d8>] ? strndup_user+0x48/0x67
      >  [<c109b3f1>] ? sys_mount+0x61/0x90
      >  [<c10027cc>] ? sysenter_do_call+0x12/0x22
      
      This fixes the problem.
      Signed-off-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Tested-by: NRyusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
      Cc: stable@kernel.org
      af4e3631
  5. 10 8月, 2010 1 次提交
  6. 23 7月, 2010 12 次提交
  7. 31 5月, 2010 1 次提交
  8. 10 5月, 2010 7 次提交