07 Jan, 2006

40 commits

  • I submitted this one previously - svc_tcp_recvfrom currently returns
    any errors to the caller, including ECONNRESET and the like.

    This is something svc_recv isn't able to deal with:

    len = svsk->sk_recvfrom(rqstp);
    [...]
    if (len == 0 || len == -EAGAIN) {
    [...]
    return -EAGAIN;
    }

    [...]
    return len;

    The nfsd main loop will exit when it sees an error code other than
    EAGAIN.

    The following patch fixes this problem

    svc_recv is not equipped to deal with error codes other than EAGAIN,
    and will propagate anything else (such as ECONNRESET) up to nfsd,
    causing it to exit.

    Signed-off-by: Olaf Kirch
    Cc: Trond Myklebust
    Cc: Neil Brown
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Olaf Kirch
     
  • Split the checkpoint list of the transaction into two lists. In the first
    list we keep the buffers that need to be submitted for IO. In the second
    list are kept buffers that were already submitted and we just have to wait
    for the IO to complete. This should simplify a handling of checkpoint
    lists a bit and can eventually be also a performance gain.

    Signed-off-by: Jan Kara
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • This patch fixes an issue reported by Coverity in kernel/module.c

    Error reported: Cannot reach this line of code "else return ptr;"

    Patch description:
    This is the error path, so 'err' will be negative, the else case
    is not required, this patch removes it.

    Signed-off-by: Jayachandran C.
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jayachandran C
     
  • I missed a use of list_for_each_rcu_safe() in -mm tree. Here is an updated
    patch to fix it. This time tested on a machine that actually uses IPMI...
    (Thanks to Serge Hallyn for spotting this.)

    Signed-off-by: "Paul E. McKenney"
    Cc: Corey Minyard
    Cc: Matt Domsch
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul E. McKenney
     
  • "extern inline" doesn't make much sense.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Unless I miss something, this should be the simplest way to express the
    intended dependencies.

    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Help external ppSCSI driver by exporting parport_get_port to match the
    parport_put_port.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Small cleanup of includes meant for older implementation.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Make drivers that use directly PC parport HW depend on PARPORT_PC rather than
    HW independent PARPORT.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Add missing "struct" keyword preventing compilation with DEBUG_PARPORT
    defined. Also add some "const".

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Trivial "const" additions to places in parport that truly are const.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Use the complete slab buffer that is allocated by kmalloc.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • parport_daisy_select returned wrong status that is read at wrong time
    during daisy command execution.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Device ID reading from daisy chain devices failed because the daisy
    device could not be opened.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Daisy chain end detection failed at least with older daisy chain devices that
    do not implement the last device signal.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Did not move the parport interface properly into IEEE1284_PH_REV_IDLE phase at
    end of data due to comparing bytes with nibbles. Internal phase
    IEEE1284_PH_HBUSY_DNA became unused, so remove it.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Fix potential buffer overflow in case the device ID did not end in semicolon.
    Also might fail to negotiate back to IEEE1284_MODE_COMPAT in case of failure.
    parport_device_id did not return what Documentation/parport-lowlevel.txt said,
    so I changed it to match it.

    Determining device ID length is overly complicated, but Tim Waugh recalled on
    linux-parport seeing some buggy device that might need it.

    Signed-off-by: Marko Kohtala
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marko Kohtala
     
  • Previously invalid types were quietly changed to regular files, but at
    revalidation the inode was changed to bad. This was rather inconsistent
    behavior.

    Now check if the type is valid on initial lookup, and return -EIO if not.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • In direct_io mode, send at least one page per reqest. Previously it was
    possible that reqests with zero data were sent, and hence the read/write
    didn't make any progress, resulting in an infinite (though interruptible)
    loop.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Make the maximum size of write data configurable by the filesystem. The
    previous fixed 4096 limit only worked on architectures where the page size is
    less or equal to this. This change make writing work on other architectures
    too, and also lets the filesystem receive bigger write requests in direct_io
    mode.

    Normal writes which go through the page cache are still limited to a page
    sized chunk per request.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Change the way a too large request is handled. Until now in this case the
    device read returned -EINVAL and the operation returned -EIO.

    Make it more flexibible by not returning -EINVAL from the read, but restarting
    it instead.

    Also remove the fixed limit on setxattr data and let the filesystem provide as
    large a read buffer as it needs to handle the extended attribute data.

    The symbolic link length is already checked by VFS to be less than PATH_MAX,
    so the extra check against FUSE_SYMLINK_MAX is not needed.

    The check in fuse_create_open() against FUSE_NAME_MAX is not needed, since the
    dentry has already been looked up, and hence the name already checked.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Make file operations on a bad inode fail. This just makes things a
    bit more consistent.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Document some not-so-trivial functions.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Add support for caching negative dentries.

    Up till now, ->d_revalidate() always forced a new lookup on these. Now let
    the lookup method return a zero node ID (not used for anything else) meaning a
    negative entry, but with a positive cache timeout. The old way of signaling
    negative entry (replying ENOENT) still works.

    Userspace should check the ABI minor version to see whether sending a zero ID
    is allowed by the kernel or not.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Add 'frsize' member to the statfs reply.

    I'm not sure if sending f_fsid will ever be needed, but just in case leave
    some space at the end of the structure, so less compatibility mess would be
    required.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Change interface version to 7.4.

    Following changes will need backward compatibility support, so store the minor
    version returned by userspace.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Use page_offset() instead of doing page offset calculation by hand.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Simplify fuse_lookup() and related functions.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Miklos Szeredi
     
  • Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • - make i2o_iop_free() static inline (from Adrian Bunk)

    - changed kmalloc() + memset(0) into kzalloc()

    Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • Fix some typos and minor code beautifying.

    Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • - Removed some kmalloc's with __GFP_ZERO and replace it with memset()
    because it didn't work properly.

    - Fixed returned message frame in i2o_cfg_passthru() which caused raidutils
    to display wrong error message in case a disk was missing.

    - Fixed size of printk() in i2o_scsi.c.

    - Fixed get_device() and put_device() in probing of the I2O controller.

    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • Removed wrong I2O device class, which was only needed to add sysfs attributes.

    Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • Fix lot of BE LE bugs which prevent it from working on SPARC.

    Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • Changed the I2O API to create I2O messages first in kernel memory and then
    transfer it at once over the PCI bus instead of sending each quad-word over
    the PCI bus.

    Signed-off-by: Markus Lidel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Markus Lidel
     
  • Sanitize some s390 Kconfig options. We have ARCH_S390, ARCH_S390X,
    ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT. Replace these 6 options by
    S390, 64BIT and COMPAT.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • When the sclp_cpi module is loaded on a system which does not support the
    required SCLP call (e.g. on z/VM), ENOSUPP is returned to user space. The
    correct return value is EOPNOTSUPP.

    Signed-off-by: Peter Oberparleiter
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Peter Oberparleiter
     
  • - Use kzalloc() in blacklist.c.
    - Kill unwanted casts in blacklist.c.
    - Provide release function for struct channel_subsystem.

    Signed-off-by: Cornelia Huck
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cornelia Huck
     
  • Signed-off-by: Eric Rossman
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Rossman
     
  • Add support for multiple subchannel sets. Works with arbitrary devices in
    subchannel set 1 and is transparent to device drivers. Although currently
    only two subchannel sets are available, this will work with the architectured
    maximum number of subchannel sets as well.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cornelia Huck