1. 19 Oct, 2007 3 commits
    • Trond Myklebust's avatar
      NFS: Fix a race in sillyrename · 565277f6
      Trond Myklebust authored
      lookup() and sillyrename() can race one another because the sillyrename()
      completion cannot take the parent directory's inode->i_mutex since the
      latter may be held by whoever is calling dput().
      
      We therefore have little option but to add extra locking to ensure that
      nfs_lookup() and nfs_atomic_open() do not race with the sillyrename
      completion.
      If somebody has looked up the sillyrenamed file in the meantime, we just
      transfer the sillydelete information to the new dentry.
      
      Please refer to the bug-report at
      	http://bugzilla.linux-nfs.org/show_bug.cgi?id=150Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      565277f6
    • Trond Myklebust's avatar
      NFS: Fix a writeback race... · 61e930a9
      Trond Myklebust authored
      This patch fixes a regression that was introduced by commit
      44dd151d
      
      We cannot zero the user page in nfs_mark_uptodate() any more, since
      
        a) We'd be modifying the page without holding the page lock
        b) We can race with other updates of the page, most notably
           because of the call to nfs_wb_page() in nfs_writepage_setup().
      
      Instead, we do the zeroing in nfs_update_request() if we see that we're
      creating a request that might potentially be marked as up to date.
      
      Thanks to Olivier Paquet for reporting the bug and providing a test-case.
      Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
      61e930a9
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 · 4fa4d23f
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6:
        pcnet32: remove private net_device_stats structure
        vortex_up should initialize "err"
        pcnet32: remove compile warnings in non-napi mode
        pcnet32: fix non-napi packet reception
        fix EMAC driver for proper napi_synchronize API
        sky2: shutdown cleanup
        napi_synchronize: waiting for NAPI
        forcedeth msi bugfix
        gianfar: fix obviously wrong #ifdef CONFIG_GFAR_NAPI placement
        fs_enet: Update for API changes
        gianfar: remove orphan struct.
        forcedeth: fix rx-work condition in nv_rx_process_optimized() too
      4fa4d23f
  2. 18 Oct, 2007 37 commits