1. 15 10月, 2007 23 次提交
  2. 01 10月, 2007 2 次提交
  3. 20 9月, 2007 2 次提交
    • C
      [XFS] fix valid but harmless sparse warning · 1bc5858d
      Christoph Hellwig 提交于
      The new xlog_recover_do_reg_buffer checks call be16_to_cpu on di_gen which
      is a 32bit value so sparse rightly complains. Fortunately the warning is
      harmless because we don't care for the value, but only whether it's
      non-NULL. Due to that fact we can simply kill the endian swaps on this and
      the previous di_mode check entirely.
      
      SGI-PV: 969656
      SGI-Modid: xfs-linux-melb:xfs-kern:29709a
      Signed-off-by: NChristoph Hellwig <hch@infradead.org>
      Signed-off-by: NLachlan McIlroy <lachlan@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      1bc5858d
    • E
      [XFS] fix filestreams on 32-bit boxes · bcc7b445
      Eric Sandeen 提交于
      xfs_filestream_mount() sets up an mru cache with:
        err = xfs_mru_cache_create(&mp->m_filestream, lifetime, grp_count,
        (xfs_mru_cache_free_func_t)xfs_fstrm_free_func);
      but that cast is causing problems...
        typedef void (*xfs_mru_cache_free_func_t)(unsigned long, void*);
      but:
        void xfs_fstrm_free_func( xfs_ino_t ino, fstrm_item_t *item)
      so on a 32-bit box, it's casting (32, 32) args into (64, 32) and I assume
      it's getting garbage for *item, which subsequently causes an explosion.
      With this change the filestreams xfsqa tests don't oops on my 32-bit box.
      
      SGI-PV: 967795
      SGI-Modid: xfs-linux-melb:xfs-kern:29510a
      Signed-off-by: NEric Sandeen <sandeen@sandeen.net>
      Signed-off-by: NDavid Chinner <dgc@sgi.com>
      Signed-off-by: NTim Shimmin <tes@sgi.com>
      bcc7b445
  4. 18 9月, 2007 2 次提交
  5. 17 9月, 2007 1 次提交
  6. 05 9月, 2007 6 次提交
  7. 27 7月, 2007 1 次提交
  8. 20 7月, 2007 3 次提交
    • P
      mm: Remove slab destructors from kmem_cache_create(). · 20c2df83
      Paul Mundt 提交于
      Slab destructors were no longer supported after Christoph's
      c59def9f change. They've been
      BUGs for both slab and slub, and slob never supported them
      either.
      
      This rips out support for the dtor pointer from kmem_cache_create()
      completely and fixes up every single callsite in the kernel (there were
      about 224, not including the slab allocator definitions themselves,
      or the documentation references).
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      20c2df83
    • N
      mm: fault feedback #1 · d0217ac0
      Nick Piggin 提交于
      Change ->fault prototype.  We now return an int, which contains
      VM_FAULT_xxx code in the low byte, and FAULT_RET_xxx code in the next byte.
       FAULT_RET_ code tells the VM whether a page was found, whether it has been
      locked, and potentially other things.  This is not quite the way he wanted
      it yet, but that's changed in the next patch (which requires changes to
      arch code).
      
      This means we no longer set VM_CAN_INVALIDATE in the vma in order to say
      that a page is locked which requires filemap_nopage to go away (because we
      can no longer remain backward compatible without that flag), but we were
      going to do that anyway.
      
      struct fault_data is renamed to struct vm_fault as Linus asked. address
      is now a void __user * that we should firmly encourage drivers not to use
      without really good reason.
      
      The page is now returned via a page pointer in the vm_fault struct.
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d0217ac0
    • N
      mm: merge populate and nopage into fault (fixes nonlinear) · 54cb8821
      Nick Piggin 提交于
      Nonlinear mappings are (AFAIKS) simply a virtual memory concept that encodes
      the virtual address -> file offset differently from linear mappings.
      
      ->populate is a layering violation because the filesystem/pagecache code
      should need to know anything about the virtual memory mapping.  The hitch here
      is that the ->nopage handler didn't pass down enough information (ie.  pgoff).
       But it is more logical to pass pgoff rather than have the ->nopage function
      calculate it itself anyway (because that's a similar layering violation).
      
      Having the populate handler install the pte itself is likewise a nasty thing
      to be doing.
      
      This patch introduces a new fault handler that replaces ->nopage and
      ->populate and (later) ->nopfn.  Most of the old mechanism is still in place
      so there is a lot of duplication and nice cleanups that can be removed if
      everyone switches over.
      
      The rationale for doing this in the first place is that nonlinear mappings are
      subject to the pagefault vs invalidate/truncate race too, and it seemed stupid
      to duplicate the synchronisation logic rather than just consolidate the two.
      
      After this patch, MAP_NONBLOCK no longer sets up ptes for pages present in
      pagecache.  Seems like a fringe functionality anyway.
      
      NOPAGE_REFAULT is removed.  This should be implemented with ->fault, and no
      users have hit mainline yet.
      
      [akpm@linux-foundation.org: cleanup]
      [randy.dunlap@oracle.com: doc. fixes for readahead]
      [akpm@linux-foundation.org: build fix]
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Mark Fasheh <mark.fasheh@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      54cb8821