1. 28 3月, 2006 1 次提交
    • A
      [PATCH] device-mapper snapshot: fix origin_write pending_exception submission · eccf0817
      Alasdair G Kergon 提交于
      Say you have several snapshots of the same origin and then you issue a write
      to some place in the origin for the first time.
      
      Before the device-mapper snapshot target lets the write go through to the
      underlying device, it needs to make a copy of the data that is about to be
      overwritten.  Each snapshot is independent, so it makes one copy for each
      snapshot.
      
      __origin_write() loops through each snapshot and checks to see whether a copy
      is needed for that snapshot.  (A copy is only needed the first time that data
      changes.)
      
      If a copy is needed, the code allocates a 'pending_exception' structure
      holding the details.  It links these together for all the snapshots, then
      works its way through this list and submits the copying requests to the kcopyd
      thread by calling start_copy().  When each request is completed, the original
      pending_exception structure gets freed in pending_complete().
      
      If you're very unlucky, this structure can get freed *before* the submission
      process has finished walking the list.
      
      This patch:
      
        1) Creates a new temporary list pe_queue to hold the pending exception
           structures;
      
        2) Does all the bookkeeping up-front, then walks through the new list
           safely and calls start_copy() for each pending_exception that needed it;
      
        3) Avoids attempting to add pe->siblings to the list if it's already
           connected.
      
      [NB This does not fix all the races in this code.  More patches will follow.]
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      eccf0817
  2. 27 3月, 2006 1 次提交
  3. 02 2月, 2006 2 次提交
  4. 15 1月, 2006 1 次提交
  5. 07 1月, 2006 1 次提交
  6. 13 7月, 2005 2 次提交
  7. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4