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 -
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 -
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 -
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 -
"extern inline" doesn't make much sense.
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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 -
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 -
Small cleanup of includes meant for older implementation.
Signed-off-by: Marko Kohtala
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Document some not-so-trivial functions.
Signed-off-by: Miklos Szeredi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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 -
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 -
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 -
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 -
Simplify fuse_lookup() and related functions.
Signed-off-by: Miklos Szeredi
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
Signed-off-by: Markus Lidel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
- 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 -
Fix some typos and minor code beautifying.
Signed-off-by: Markus Lidel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
- 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 -
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 -
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 -
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 -
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 -
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 -
- 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 -
Signed-off-by: Eric Rossman
Signed-off-by: Martin Schwidefsky
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds -
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