1. 06 Nov, 2002 40 commits
    • Paul Mackerras's avatar
      [PATCH] Update powermac IDE driver · 056cc252
      Paul Mackerras authored
      This updates the powermac IDE driver in 2.5 so it uses the 2.5 kernel
      interfaces and types rather than the 2.4 ones.  It also makes it use
      blk_rq_map_sg rather than its own code to set up scatter/gather lists in
      pmac_ide_build_sglist, and makes it use ide_lock instead of
      io_request_lock.
      056cc252
    • Paul Mackerras's avatar
      [PATCH] Update macserial driver · 594c9846
      Paul Mackerras authored
      This updates the macserial driver in 2.5 so it compiles and works.  The
      main changes are to use schedule_work instead of task queues and BHs.
      The patch also removes the wait_key method.
      
      I know we need to change macserial to use the new serial
      infrastructure.  I'm posting this patch in case it is useful to anyone
      trying to compile up a kernel for a powermac at the moment.
      594c9846
    • Davide Libenzi's avatar
      [PATCH] epoll bits 0.34 · 26ee92ea
      Davide Libenzi authored
       - Some constant adjusted
       - Comments added
       - Better hash initialization
       - Correct timeout setup
       - Added __KERNEL__ bypass to avoid userspace inclusion problems
       - Cleaned up locking
       - Function poll_init_wait() now calls poll_init_wait_ex()
       - Event return fix ( Jay Vosburgh )
       - Use <linux/hash.h> for the hash
      26ee92ea
    • Neil Brown's avatar
      [PATCH] kNFSd: Make sure svc_process releases response even on error. · aeb673ca
      Neil Brown authored
      If a rpc operation indicates that response should
      be dropped (e.g. kmalloc failure) we must still
      call pc_release to release anything it may have allocated.
      aeb673ca
    • Neil Brown's avatar
      [PATCH] kNFSd: Convert readlink to use a separate page for returning symlink contents. · 3a689637
      Neil Brown authored
      This allows NFSv3 to manage 4096byte symlinks.
      
      Also remove now-unused svcbuf_reserver function.
      
      This was used to reserve space in output buffer
      for 'data', but now this is stored in separate page.
      3a689637
    • Neil Brown's avatar
      [PATCH] kNFSd: Make sure final xdr_buf.len is correct on server reply · 65774d49
      Neil Brown authored
      rq_res->len was not always updated properly.
      It is only needed in the sendto routine, so we calculate
      it just before that is called, and don't bother
      updating it anywhere else.
      65774d49
    • Neil Brown's avatar
      [PATCH] kNFSd: Support zero-copy read for NFSD · 835a922a
      Neil Brown authored
      From Hirokazu Takahashi <taka@valinux.co.jp>
      
      This patch changes read and readdir in nfsd.
      
      read:
        If the file supports readpage, we use it to collect pages out of the page
        cache and to attache them directly to the outgoing nfs reply.
        The reduces the number of copies by one, and if the filesystem/device
        driver didn't copy the data, and if the network card can support not copying
        the data, then you get zero-copy reads.
      
      readdir:
        A separate page is used for stoing the readdir response so that a fill
        PAGE_SIZE bytes of reply can be supported.
      835a922a
    • Neil Brown's avatar
      [PATCH] kNFSd: Use ->sendpage to send nfsd (and lockd) replies. · 032d3607
      Neil Brown authored
      From Hirokazu Takahashi <taka@valinux.co.jp>
      
      As all rpc server replies are now in well defined pages,
      we can use ->sendpage to send these replies, and so
      make use for zero-copy transmit on network cards that
      support it.
      032d3607
    • Neil Brown's avatar
      [PATCH] md: Fix another two bug in raid5 · 571f3078
      Neil Brown authored
       A partial block write over a block on a failed device
       would need to pre-read that block, which means pre-read all
       blocks in stripe and generate that block.  But the generate-block
       code never checked for this possibility, so it wouldn't happen.
      571f3078
    • Neil Brown's avatar
      [PATCH] md: Fix bug in raid5 · a531b8fc
      Neil Brown authored
      When analysing a stripe in handle_stripe we set bits
       R5_Wantread or R5_Wantwrite
      to indicate if a read or write is needed.  We don't actually schedule the
      IO immediately as this is done under a spinlock (sh->lock) and
      generic_make_request can block.  Instead we check these bits after
      the lock has been lifted and then schedule the IO.
      
      But once the lock has been lifted we aren't safe against multiple
      access, and it is possible that the IO will be scheduled never, or twice.
      
      So, we use test_and_clear to check and potentially schedule the IO.
      
      This wasn't a problem in 2.4 because the equivalent information was
      stored on the stack instead of in the stripe.
      
      We also make sure bi_io_vec[0] has correct values as a previous
      call to generic_make_request may have changed them.
      a531b8fc
    • Neil Brown's avatar
      [PATCH] md: Fix assorted raid1 problems. · 81fc1e93
      Neil Brown authored
      From Angus Sawyer <angus.sawyer@dsl.pipex.com>:
      
      1. Null pointer dereference in end_sync_read
      
         r1_bio->read_disk is not initialised correctly in sync_request .
      
         this is used in end_sync_read to reference the structure
         conf->mirror[read_disk].rdev which with one disk missing is NULL.
      
      
      2. Null pointer dereference in mempool_free()
      
         This is a race between close_sync() conf->r1_bufpool =3D NULL and put_buf()
         mempool_free().
      
         bio completion -> resume_device -> put_buf -> mempool_free(r1_bufpool)
      				|
      			   [ wakeup]
      				|
      			   close_sync()	-> r1_bufpool = NULL;
      
         The patch attached  reorders the mempool_free before the  barrier is released
         and merges resume_device() into put_buf(), (they are only used together).
         Otherwise I have kept the locking and wakeups identical to the existing code.
         (maybe this could be streamlined)
      
      3.  BUG() at close_sync() if (waitqueue_active(&conf->wait_resume).
      
         This occurs with and without the patch for (2).
      
         I think this is a false BUG().  From what I understand of the device barrier
         code, there is nothing wrong with make_request() waiting on wait_resume when
         this test is made.  Therefore I have removed it (the wait_idle test is still
         correct).
      
      4. raid1 tries to start a resync if there is only one working drive,
         which is pretty pointless, and noisy.  We notice that special case and
         avoid the resync.
      81fc1e93
    • Neil Brown's avatar
      [PATCH] md: Misc little raid fixes · eddcaa28
      Neil Brown authored
      Roughly in order of patch:
      
      1/ xor.h is never needed in md.c
      2/ set sb_loaded when we 'sync' mddev to rdev as well as when we load
         sb into rdev from disk.
      2/ due to lifetime changes, active count can be 2 when we stop array
      3/ due to lifetime changes, we need to explicitly clear the ->pers when we
         stop an array
      4/ autostart can only work for 0.90.0 superblocks.
         None others would be silly enough to store device numbers for
         all devices in the superblock...
      5/ we had lost the setting of 'sb' when auto-starting an array.
      6/ Code currently calls export_rdev(start_rdev) when
         IS_ERR(start_rdev), which causes an oops.
      7/ /proc/mdstat contents error:
             code does not take into account that delayed
             resyncs can wait with curr_resync = 1 or 2.
      8/ There is a premature "return NOTIFY_DONE", that possibly was in
         for debugging once...
      eddcaa28
    • Trond Myklebust's avatar
      [PATCH] Fix typo in nfs_readpages. · dffa30c7
      Trond Myklebust authored
      Make sure we drain the entire list of pages that failed to get added
      to the mapping.
      dffa30c7
    • Linus Torvalds's avatar
      Merge bk://linux-scsi.bkbits.net/scsi-dledford · 9096518f
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      9096518f
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/hch/BK/xfs/linux-2.5 · fd4b35fd
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      fd4b35fd
    • Christoph Hellwig's avatar
      export find_trylock_page for XFS · e1488fb5
      Christoph Hellwig authored
      e1488fb5
    • Christoph Hellwig's avatar
      [XFS] Fix compilation with ACLs enabled · c77b0542
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:132214a
      c77b0542
    • Christoph Hellwig's avatar
      b6af148b
    • Christoph Hellwig's avatar
      [XFS] Don't require ACL helpers for XFS · 668a676d
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:132176a
      668a676d
    • Stephen Lord's avatar
      [XFS] Add XFS_POSIX_ACL to control ACL compilation in xfs · f301e28e
      Stephen Lord authored
      SGI Modid: 2.5.x-xfs:slinx:132045a
      f301e28e
    • Stephen Lord's avatar
      [XFS] remove excess vn_remove from the unmount path · 724bb4a3
      Stephen Lord authored
      SGI Modid: 2.5.x-xfs:slinx:131939a
      724bb4a3
    • Stephen Lord's avatar
      [XFS] remove VPURGE · de9c7f21
      Stephen Lord authored
      SGI Modid: 2.5.x-xfs:slinx:131630a
      de9c7f21
    • Eric Sandeen's avatar
      [XFS] Remove a couple other readonly device change remnants · e4e31102
      Eric Sandeen authored
      SGI Modid: 2.5.x-xfs:slinx:131565a
      e4e31102
    • Eric Sandeen's avatar
      [XFS] Be more careful about quota state changes on ro-devices · f9ece4ab
      Eric Sandeen authored
      We can't allow quota state changes on a read-only device,
      this would kick of a failing transaction & shut down the fs.
      Previously the test was quota/no quota but we need to disallow
      any change wrt user and/or group quota state.
      
      SGI Modid: 2.5.x-xfs:slinx:131554a
      f9ece4ab
    • Stephen Lord's avatar
      [XFS] break out the allocator specific parts of the xfs I/O path into · fbfafd0b
      Stephen Lord authored
      a separate file, xfs_iomap.c out of xfs_lrw.c. Remove some parts
      of the code which were not doing anything for us. This is step
      one in some major reorgs of this code.
      
      SGI Modid: 2.5.x-xfs:slinx:131524a
      fbfafd0b
    • Russell Cattelan's avatar
      [XFS] narrow down comment · dadf196c
      Russell Cattelan authored
      SGI Modid: 2.5.x-xfs:slinx:131504a
      dadf196c
    • Stephen Lord's avatar
      [XFS] fix loop termination logic in xfs_sync · 980eab8d
      Stephen Lord authored
      SGI Modid: 2.5.x-xfs:slinx:131490a
      980eab8d
    • Russell Cattelan's avatar
      [XFS] Fix fsx corruption. · 0aef4def
      Russell Cattelan authored
      SGI Modid: 2.5.x-xfs:slinx:131438a
      0aef4def
    • Christoph Hellwig's avatar
      [XFS] more dead code removal · 11baffb8
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:131386a
      11baffb8
    • Stephen Lord's avatar
      [XFS] Contributed fix from ASANO Masahiro <masano@tnes.nec.co.jp>. In calculating · fe768403
      Stephen Lord authored
      the layout of a log record for a buffer, the linux code deals with buffers
      which are not contiguous in memory - this only applies to an inode buffer.
      This adds one more fragmentation case to the code, and a line was missing
      from this. The end result would be the logging of too much data if this
      was not the last component of the buffer.
      
      The code was definitely wrong, but I think the chances of hitting this were
      pretty slim, and the resulting error would only matter if there was a
      crash shortly afterward.
      
      SGI Modid: 2.5.x-xfs:slinx:131221a
      fe768403
    • Eric Sandeen's avatar
      [XFS] Prevent a couple transactions from happening on ro mounts · 93c01a6f
      Eric Sandeen authored
      SGI Modid: 2.5.x-xfs:slinx:131187a
      93c01a6f
    • Nathan Scott's avatar
      [XFS] Fix compile error with XFS_BIG_FILESYSTEMS set. · fd12985b
      Nathan Scott authored
      SGI Modid: 2.5.x-xfs:slinx:131618a
      fd12985b
    • Nathan Scott's avatar
      [XFS] Fix a couple of issues on the error path when dealing with external · cfb315eb
      Nathan Scott authored
      devices (log/realtime).  path_init was missing the LOOKUP_POSITIVE
      flag, so it would fail to tell us if the file doesn't exist, there
      was a spot where we were returning the wrong signedness for the code,
      and when mount is failing, we can call into xfs_blkdev_put with a
      NULL pointer depending on which devices were initialised and which
      weren't.
      
      SGI Modid: 2.5.x-xfs:slinx:131469a
      cfb315eb
    • Christoph Hellwig's avatar
      [XFS] fix kNFSD operation · 9043ec66
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:131214a
      9043ec66
    • Eric Sandeen's avatar
      [XFS] Remove tabs from printk's · 88d015b9
      Eric Sandeen authored
      SGI Modid: 2.5.x-xfs:slinx:131185a
      88d015b9
    • Christoph Hellwig's avatar
      [XFS] remove inode reference cache · 262d0d38
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:131130a
      262d0d38
    • Eric Sandeen's avatar
      [XFS] Fix root exec access checks on files with acls · a584f710
      Eric Sandeen authored
      SGI Modid: 2.5.x-xfs:slinx:130837a
      a584f710
    • Eric Sandeen's avatar
      [XFS] pagebuf flags cleanup · ad1ea17f
      Eric Sandeen authored
      SGI Modid: 2.5.x-xfs:slinx:130823a
      ad1ea17f
    • Christoph Hellwig's avatar
      [XFS] fix NULL pointer dereference in pagebuf · ea791101
      Christoph Hellwig authored
      SGI Modid: 2.5.x-xfs:slinx:130709a
      ea791101
    • Eric Sandeen's avatar
      [XFS] Avoid creating attrs for acls which can be stored in · 272ce1b4
      Eric Sandeen authored
      the standard permission bits, and remove existing attrs
      if acls are reduced to standard permissions.
      
      SGI Modid: 2.5.x-xfs:slinx:130256a
      272ce1b4