1. 28 Jun, 2004 1 commit
    • William Lee Irwin III's avatar
      [AIO]: kiocb->private is too large for kiocb's on-stack. · 20e7c361
      William Lee Irwin III authored
      sizeof(struct kiocb) is dangerously large for a structure commonly
      allocated on-stack. This patch converts the 24*sizeof(long) field,
      ->private, to a void pointer for use by file_operations entrypoints.
      A ->dtor() method is added to the kiocb in order to support the release
      of dynamically allocated structures referred to by ->private.
      
      The sole in-tree users of ->private are async network read/write,
      which are not, in fact, async, and so need not handle preallocated
      ->private as they would need to if ->ki_retry were ever used. The sole
      truly async operations are direct IO pread()/pwrite() which do not
      now use ->ki_retry(). All they would need to do in that case is to
      check for ->private already being allocated for async kiocbs.
      
      This rips 88B off the stack on 32-bit in the common case.
      Signed-off-by: default avatarWilliam Lee Irwin III <wli@holomorphy.com>
      Signed-off-by: default avatarDavid S. Miller <davem@redhat.com>
      20e7c361
  2. 27 Jun, 2004 39 commits