1. 23 Sep, 2007 18 commits
  2. 22 Sep, 2007 6 commits
  3. 21 Sep, 2007 8 commits
  4. 20 Sep, 2007 8 commits
    • Sunil Mushran's avatar
      ocfs2: Pack vote message and response structures · 813d974c
      Sunil Mushran authored
      The ocfs2_vote_msg and ocfs2_response_msg structs needed to be
      packed to ensure similar sizeofs in 32-bit and 64-bit arches. Without this,
      we had inadvertantly broken 32/64 bit cross mounts.
      Signed-off-by: default avatarSunil Mushran <sunil.mushran@oracle.com>
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      813d974c
    • Mark Fasheh's avatar
      ocfs2: Don't double set write parameters · 5c26a7b7
      Mark Fasheh authored
      The target page offsets were being incorrectly set a second time in
      ocfs2_prepare_page_for_write(), which was causing problems on a 16k page
      size kernel. Additionally, ocfs2_write_failure() was incorrectly using those
      parameters instead of the parameters for the individual page being cleaned
      up.
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      5c26a7b7
    • Mark Fasheh's avatar
      ocfs2: Fix pos/len passed to ocfs2_write_cluster · db56246c
      Mark Fasheh authored
      This was broken for file systems whose cluster size is greater than page
      size. Pos needs to be incremented as we loop through the descriptors, and
      len needs to be capped to the size of a single cluster.
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      db56246c
    • Mark Fasheh's avatar
      ocfs2: Allow smaller allocations during large writes · 415cb800
      Mark Fasheh authored
      The ocfs2 write code loops through a page much like the block code, except
      that ocfs2 allocation units can be any size, including larger than page
      size. Typically it's equal to or larger than page size - most kernels run 4k
      pages, the minimum ocfs2 allocation (cluster) size.
      
      Some changes introduced during 2.6.23 changed the way writes to pages are
      handled, and inadvertantly broke support for > 4k page size. Instead of just
      writing one cluster at a time, we now handle the whole page in one pass.
      
      This means that multiple (small) seperate allocations might happen in the
      same pass. The allocation code howver typically optimizes by getting the
      maximum which was reserved. This triggered a BUG_ON in the extend code where
      it'd ask for a single bit (for one part of a > 4k page) and get back more
      than it asked for.
      
      Fix this by providing a variant of the high level allocation function which
      allows the caller to specify a maximum. The traditional function remains and
      just calls the new one with a maximum determined from the initial
      reservation.
      Signed-off-by: default avatarMark Fasheh <mark.fasheh@oracle.com>
      415cb800
    • Linus Torvalds's avatar
      Merge branch 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev · 335fb8fc
      Linus Torvalds authored
      * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
        [libata] ahci: add ATI SB800 PCI IDs
        libata-sff: Fix documentation
        libata: Update the blacklist with a few more devices
      335fb8fc
    • Davide Libenzi's avatar
      signalfd simplification · b8fceee1
      Davide Libenzi authored
      This simplifies signalfd code, by avoiding it to remain attached to the
      sighand during its lifetime.
      
      In this way, the signalfd remain attached to the sighand only during
      poll(2) (and select and epoll) and read(2).  This also allows to remove
      all the custom "tsk == current" checks in kernel/signal.c, since
      dequeue_signal() will only be called by "current".
      
      I think this is also what Ben was suggesting time ago.
      
      The external effect of this, is that a thread can extract only its own
      private signals and the group ones.  I think this is an acceptable
      behaviour, in that those are the signals the thread would be able to
      fetch w/out signalfd.
      Signed-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b8fceee1
    • Wolfgang Walter's avatar
      rpc: fix garbage in printk in svc_tcp_accept() · 9db619e6
      Wolfgang Walter authored
      we upgraded the kernel of a nfs-server from 2.6.17.11 to 2.6.22.6. Since
      then we get the message
      
      lockd: too many open TCP sockets, consider increasing the number of nfsd threads
      lockd: last TCP connect from ^\\236^\É^D
      
      These random characters in the second line are caused by a bug in
      svc_tcp_accept.
      
      (Note: there are two previous __svc_print_addr(sin, buf, sizeof(buf))
      calls in this function, either of which would initialize buf correctly;
      but both are inside "if"'s and are not necessarily executed.  This is
      less obvious in the second case, which is inside a dprintk(), which is a
      macro which expands to an if statement.)
      Signed-off-by: default avatarWolfgang Walter <wolfgang.walter@studentenwerk.mhn.de>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9db619e6
    • henry su's avatar
      [libata] ahci: add ATI SB800 PCI IDs · c69c0892
      henry su authored
      ATI/AMD SB800 shares some device IDs with SB700,
      and SB800 adds two more device IDs:0x4394,0x4395.
      Signed-off-by: default avatarhenry su <henry.su.ati@gmail.com>
      Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
      c69c0892