1. 18 Sep, 2002 12 commits
    • Chuck Lever's avatar
      [PATCH] (2/2) clean up RPC over TCP transport socket connect · 1e04f496
      Chuck Lever authored
      This renames *reconn* to *conn* since the same code now handles both
      initial TCP connect, and TCP reconnection, and corrects some comments.
      against 2.5.36, requires earlier patch (1/1).
      1e04f496
    • Chuck Lever's avatar
      [PATCH] (1/2) clean up RPC over TCP transport socket connect · be83269e
      Chuck Lever authored
      This provides clean up and bug fixes for the RPC layer's TCP socket
      connection management logic.  Trond, Alexey, and DaveM have seen this
      patch.  i've been running it for several weeks here and feel it is ready
      for wider testing.  these two patches are prerequisites for further
      clean-ups and fixes for RPC over TCP.
      
      bugs fixed:
      +  TCP connection establishment now times out after 60 seconds instead of
         hanging for ten minutes.  60 seconds is more in line with how long a
         server takes to reboot.
      +  on a soft-mounted file system, TCP reconnections now time out and fail
         the RPC request, like most other NFS clients, instead of hanging the
         NFS client until the server comes back.
      +  on hard-mounted file systems, the RPC layer now delays 15 seconds
         before retrying after a failed connection attempt instead of retrying
         as soon as it can.
      +  TCP connection error recovery is now more verbose so users can see why
         their NFS sessions are hung.  this can be tuned with future patches if
         it is unreasonably noisy.
      +  the TCP connect logic is cleaned up so adding checks for new errnos
         is easier.
      +  the same code now handles both initial connection and reconnection.
         the original initial connection code did not have comprehensive error
         handling.
      +  some obscure design elements are now documented in comments.
      +  kfree was used by mistake in xprt_destroy.
      be83269e
    • Daniel Jacobowitz's avatar
      [PATCH] Fix for ptrace breakage · c13e8f03
      Daniel Jacobowitz authored
      This patch consolidates zap_thread into reparent_thread, and fixes
      __will_become_orphaned_pgrp to check p->real_parent instead of
      p->parent.
      c13e8f03
    • Linus Torvalds's avatar
      Make pid_max grow dynamically as needed. · ffb726cd
      Linus Torvalds authored
      ffb726cd
    • Linus Torvalds's avatar
      Missing EOL noticed by Chuck Lever · e06818fb
      Linus Torvalds authored
      e06818fb
    • Jens Axboe's avatar
      [PATCH] xfs, use bio_add_page() · 1e09d11c
      Jens Axboe authored
      XFS now needs to use bio_add_page() as not to build bio's of the wrong
      size. Also makes the bio build nicer.
      1e09d11c
    • Jens Axboe's avatar
      [PATCH] scsi doesn't need locking around end_that_request_first() · 08435553
      Jens Axboe authored
      Seems James introduced this one, it's not needed though. Will take a
      look at eh thread now...
      08435553
    • Jens Axboe's avatar
      [PATCH] jfs and xfs update · 5937c67e
      Jens Axboe authored
      missed updating xfs and jfs to new bi_end_io handling
      5937c67e
    • Jens Axboe's avatar
      [PATCH] partial bio completion notification · 392aaa18
      Jens Axboe authored
      Make bio->bi_end_io() take bytes_done and actual error as argument. This
      enables partial completion of bio's, which is important for latency
      reasons (bio can be huge, for slow media we want page-by-page
      completions).
      
      I think I got most of the bi_end_io() functions out there, but I might
      have missed a few. For the record, if you don't care about partial
      completions and just want to be notified when the entire bio completes,
      add a
      
      	if (bio->bi_size)
      		return 1;
      
      to the top of your bi_end_io(). It should return 0 on completion.
      bio_endio() will decrement bio->bi_size appropriately, it's recommended
      for people to go through that. Otherwise they will have to control
      BIO_UPTODATE and bi_size decrement themselves, there's really no reason
      to do that. I've deliberately avoided doing any functional changes to
      any of the end_io functions, as I think that would only make the patch
      more complex. It's simple right now, but this being i/o paths I prefer
      (as usual) to be careful and take small steps. The mpage_end_io_read()
      do-vecs-at-the-time change can come right after this, for instance.
      392aaa18
    • Jens Axboe's avatar
      [PATCH] make mpage use bio_add_page() · cf780a87
      Jens Axboe authored
      This makes mpage use bio_add_page().  It has the added advantage that
      users don't need to have deep knowledge about what the different bio
      fields mean, nor does it have to abuse some of them while building the
      bio.
      cf780a87
    • Jens Axboe's avatar
      [PATCH] bio_add_page() · f8b46092
      Jens Axboe authored
      This is bio_add_page(), 100% identical to the version I sent out for
      comments earlier this week.  With the previous queue restriction patch,
      this guarentees that we can always add a page worth of data to the bio.
      bio_add_page() returns 0 on success, and 1 on failure.  Either the page
      is added completely, or the attempt is aborted.
      
      bio_add_page() uses the normal queue restrictions to determine whether
      we an add the page or not. if a queue has further restrictions, it can
      define a q->merge_bvec_fn() to further impose limits.
      
      Patch also includes changes to ll_rw_kio(), if for nothing else to
      demonstrate how to use this piece of instrastructure.
      f8b46092
    • Jens Axboe's avatar
      [PATCH] impose sane queue restrictions · efbb72f9
      Jens Axboe authored
      Impose sane limits on queue restrictions. that means:
      
       - q->max_sectors must be able to at least span a page
       - q->max_phys_segments and q->max_hw_segments must be at least 1
       - q->max_segment_size must be at least page sized
       - q->seg_boundary_mask must be at least PAGE_CACHE_SIZE-1
      efbb72f9
  2. 17 Sep, 2002 28 commits