1. 23 Jan, 2008 3 commits
  2. 29 Oct, 2007 1 commit
  3. 24 Oct, 2007 1 commit
  4. 22 Oct, 2007 1 commit
  5. 16 Oct, 2007 1 commit
  6. 12 Oct, 2007 2 commits
  7. 28 May, 2007 1 commit
  8. 08 May, 2007 1 commit
  9. 17 Apr, 2007 1 commit
    • Alan Stern's avatar
      [SCSI] sg: cap reserved_size values at max_sectors · 44ec9542
      Alan Stern authored
      
      
      This patch (as857) modifies the SG_GET_RESERVED_SIZE and
      SG_SET_RESERVED_SIZE ioctls in the sg driver, capping the values at
      the device's request_queue's max_sectors value.  This will permit
      cdrecord to obtain a legal value for the maximum transfer length,
      fixing Bugzilla #7026.
      
      The patch also caps the initial reserved_size value.  There's no
      reason to have a reserved buffer larger than max_sectors, since it
      would be impossible to use the extra space.
      
      The corresponding ioctls in the block layer are modified similarly,
      and the initial value for the reserved_size is set as large as
      possible.  This will effectively make it default to max_sectors.
      Note that the actual value is meaningless anyway, since block devices
      don't have a reserved buffer.
      
      Finally, the BLKSECTGET ioctl is added to sg, so that there will be a
      uniform way for users to determine the actual max_sectors value for
      any raw SCSI transport.
      Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Acked-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Acked-by: default avatarDouglas Gilbert <dougg@torque.net>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      44ec9542
  10. 08 Nov, 2006 1 commit
  11. 26 Sep, 2006 1 commit
    • Douglas Gilbert's avatar
      [SCSI] sg: fixes for large page_size · 6460e75a
      Douglas Gilbert authored
      This sg driver patch addresses the problem with larger
      page sizes reported by Brian King in this post:
      http://marc.theaimsgroup.com/?l=linux-scsi&m=115867718623631&w=2
      
      
      Some other related matters are also addressed. Some of these
      prevent oopses when the SG_SCATTER_SZ or scatter_elem_sz are
      set to inappropriate values.
      
      The scatter_elem_sz has been tested up to 4 MB which should
      make the largest data transfer with one SCSI command, 32 MB
      less one block, achievable with a relatively small number
      of elements in the scatter gather list.
      
      ChangeLog:
          - add scatter_elem_sz boot time parameter and sysfs module
            parameter that is initialized to SG_SCATTER_SZ
          - the driver will then adjust scatter_elem_sz to be the
            max(given(scatter_elem_sz), PAGE_SIZE)
            It will also round it up, if necessary, to be a power
            of two
          - clean up sg.h header, correct bad urls and some statements
            that are no longer valid
          - make the def_reserved_size sysfs module attribute writable
      Signed-off-by: default avatarDouglas Gilbert <dougg@torque.net>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      6460e75a
  12. 26 Aug, 2006 1 commit
  13. 30 Jun, 2006 2 commits
  14. 10 Jun, 2006 1 commit
  15. 13 Apr, 2006 3 commits
  16. 22 Mar, 2006 1 commit
    • Nick Piggin's avatar
      [PATCH] sg: use compound pages · f9aed0e2
      Nick Piggin authored
      
      
      sg increments the refcount of constituent pages in its higher order memory
      allocations when they are about to be mapped by userspace.  This is done so
      the subsequent get_page/put_page when doing the mapping and unmapping does not
      free the page.
      
      Move over to the preferred way, that is, using compound pages instead.  This
      fixes a whole class of possible obscure bugs where a get_user_pages on a
      constituent page may outlast the user mappings or even the driver.
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Douglas Gilbert <dougg@torque.net>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f9aed0e2
  17. 12 Mar, 2006 1 commit
  18. 27 Feb, 2006 3 commits
  19. 07 Feb, 2006 1 commit
  20. 26 Jan, 2006 1 commit
    • brking@us.ibm.com's avatar
      [SCSI] Prevent scsi_execute_async from guessing cdb length · bb1d1073
      brking@us.ibm.com authored
      
      
      When the scsi_execute_async interface was added it ended up reducing
      the flexibility of userspace to send arbitrary scsi commands through
      sg using SG_IO. The SG_IO interface allows userspace to specify the
      CDB length. This is now ignored in scsi_execute_async and it is
      guessed using the COMMAND_SIZE macro, which is not always correct,
      particularly for vendor specific commands. This patch adds a cmd_len
      parameter to the scsi_execute_async interface to allow the caller
      to specify the length of the CDB.
      Signed-off-by: default avatarBrian King <brking@us.ibm.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      bb1d1073
  21. 09 Jan, 2006 1 commit
  22. 14 Dec, 2005 1 commit
    • Mike Christie's avatar
      [SCSI] convert sg to scsi_execute_async · d6b10348
      Mike Christie authored
      
      
      Convert sg to always send scatterlists, and kill scsi_request usage.
      
      TODO:
      
      - move DIO code to common place or make block layers usable for ULDs.
      - move buffer allocation code to common place for all ULDs to use. And
      make buffer allocation code obey all queue limits so we can find
      out about problems before calling scsi_execute_async. Currently, sg.c
      could allocate a buffer that is too large, and send the request
      to scsi_execute_async. scsi_execute_async will then check it against
      all the queue limits and return a failure in this case. It would nicer
      to know about the queue limit violation right away.
      - move indirect (copy_to/from_user) paths commone place or make block
      layers usable for ULDs.
      Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@SteelEye.com>
      d6b10348
  23. 02 Dec, 2005 2 commits
  24. 09 Nov, 2005 1 commit
    • Olaf Hering's avatar
      [PATCH] changing CONFIG_LOCALVERSION rebuilds too much, for no good reason · 733482e4
      Olaf Hering authored
      
      
      This patch removes almost all inclusions of linux/version.h.  The 3
      #defines are unused in most of the touched files.
      
      A few drivers use the simple KERNEL_VERSION(a,b,c) macro, which is
      unfortunatly in linux/version.h.
      
      There are also lots of #ifdef for long obsolete kernels, this was not
      touched.  In a few places, the linux/version.h include was move to where
      the LINUX_VERSION_CODE was used.
      
      quilt vi `find * -type f -name "*.[ch]"|xargs grep -El '(UTS_RELEASE|LINUX_VERSION_CODE|KERNEL_VERSION|linux/version.h)'|grep -Ev '(/(boot|coda|drm)/|~$)'`
      
      search pattern:
      /UTS_RELEASE\|LINUX_VERSION_CODE\|KERNEL_VERSION\|linux\/\(utsname\|version\).h
      Signed-off-by: default avatarOlaf Hering <olh@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      733482e4
  25. 07 Nov, 2005 1 commit
  26. 29 Oct, 2005 2 commits
    • Nick Piggin's avatar
      [PATCH] core remove PageReserved · b5810039
      Nick Piggin authored
      
      
      Remove PageReserved() calls from core code by tightening VM_RESERVED
      handling in mm/ to cover PageReserved functionality.
      
      PageReserved special casing is removed from get_page and put_page.
      
      All setting and clearing of PageReserved is retained, and it is now flagged
      in the page_alloc checks to help ensure we don't introduce any refcount
      based freeing of Reserved pages.
      
      MAP_PRIVATE, PROT_WRITE of VM_RESERVED regions is tentatively being
      deprecated.  We never completely handled it correctly anyway, and is be
      reintroduced in future if required (Hugh has a proof of concept).
      
      Once PageReserved() calls are removed from kernel/power/swsusp.c, and all
      arch/ and driver code, the Set and Clear calls, and the PG_reserved bit can
      be trivially removed.
      
      Last real user of PageReserved is swsusp, which uses PageReserved to
      determine whether a struct page points to valid memory or not.  This still
      needs to be addressed (a generic page_is_ram() should work).
      
      A last caveat: the ZERO_PAGE is now refcounted and managed with rmap (and
      thus mapcounted and count towards shared rss).  These writes to the struct
      page could cause excessive cacheline bouncing on big systems.  There are a
      number of ways this could be addressed if it is an issue.
      Signed-off-by: default avatarNick Piggin <npiggin@suse.de>
      
      Refcount bug fix for filemap_xip.c
      Signed-off-by: default avatarCarsten Otte <cotte@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b5810039
    • David Hardeman's avatar
      [PATCH] Use sg_set_buf/sg_init_one where applicable · 378f058c
      David Hardeman authored
      
      
      This patch uses sg_set_buf/sg_init_one in some places where it was
      duplicated.
      Signed-off-by: default avatarDavid Hardeman <david@2gen.com>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      378f058c
  27. 28 Oct, 2005 4 commits