26 Jul, 2011
2 commits
-
Our performance team has noticed that increasing
RPCRDMA_MAX_DATA_SEGS from 8 to 64 significantly
increases throughput when using the RDMA transport.Signed-off-by: Steve Dickson
Signed-off-by: Trond Myklebust -
vfs/nfs: fixup for nfs_open_context change
Signed-off-by: Stephen Rothwell
Signed-off-by: Trond Myklebust
24 Jul, 2011
1 commit
-
Do not set the cr0 enablement bit for iucv by default in head[31|64].S,
move the enablement to iucv_init in the iucv base layer.Signed-off-by: Martin Schwidefsky
23 Jul, 2011
11 commits
-
msize represents the maximum PDU size that includes P9_IOHDRSZ.
Signed-off-by: Venkateswararao Jujjuri "
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
unlinkat - Remove a directory entry
size[4] Tunlinkat tag[2] dirfid[4] name[s] flag[4]
size[4] Runlinkat tag[2]older Tremove have the below request format
size[4] Tremove tag[2] fid[4]
The remove message is used to remove a directory entry either file or directory
The remove opreation is actually a directory opertation and should ideally have
dirfid, if not we cannot represent the fid on server with anything other than
name. We will have to derive the directory name from fid in the Tremove request.NOTE: The operation doesn't clunk the unlink fid.
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
renameat - change name of file or directory
size[4] Trenameat tag[2] olddirfid[4] oldname[s] newdirfid[4] newname[s]
size[4] Rrenameat tag[2]older Trename have the below request format
size[4] Trename tag[2] fid[4] newdirfid[4] name[s]
The rename message is used to change the name of a file, possibly moving it
to a new directory. The rename opreation is actually a directory opertation
and should ideally have olddirfid, if not we cannot represent the fid on server
with anything other than name. We will have to derive the old directory name
from fid in the Trename request.Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
Signed-off-by: Prem Karat
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
free the fid even in case of failed clunk.
Signed-off-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
Signed-off-by: Venkateswararao Jujjuri "
Reviewed-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
Signed-off-by: Venkateswararao Jujjuri "
Reviewed-by: Aneesh Kumar K.V
Signed-off-by: Eric Van Hensbergen -
Switch to generic kernel hexdump library and cleanup macros to
be more consistent with the way we do normal debug prints.Signed-off-by: Eric Van Hensbergen
-
There was a BUG_ON to protect against a bad id which could be dealt with
more gracefully.Reported-by: Natalie Orlin
Signed-off-by: Eric Van Hensbergen -
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (107 commits)
vfs: use ERR_CAST for err-ptr tossing in lookup_instantiate_filp
isofs: Remove global fs lock
jffs2: fix IN_DELETE_SELF on overwriting rename() killing a directory
fix IN_DELETE_SELF on overwriting rename() on ramfs et.al.
mm/truncate.c: fix build for CONFIG_BLOCK not enabled
fs:update the NOTE of the file_operations structure
Remove dead code in dget_parent()
AFS: Fix silly characters in a comment
switch d_add_ci() to d_splice_alias() in "found negative" case as well
simplify gfs2_lookup()
jfs_lookup(): don't bother with . or ..
get rid of useless dget_parent() in btrfs rename() and link()
get rid of useless dget_parent() in fs/btrfs/ioctl.c
fs: push i_mutex and filemap_write_and_wait down into ->fsync() handlers
drivers: fix up various ->llseek() implementations
fs: handle SEEK_HOLE/SEEK_DATA properly in all fs's that define their own llseek
Ext4: handle SEEK_HOLE/SEEK_DATA generically
Btrfs: implement our own ->llseek
fs: add SEEK_HOLE and SEEK_DATA flags
reiserfs: make reiserfs default to barrier=flush
...Fix up trivial conflicts in fs/xfs/linux-2.6/xfs_super.c due to the new
shrinker callout for the inode cache, that clashed with the xfs code to
start the periodic workers later. -
* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
rcu: Fix wrong check in list_splice_init_rcu()
net,rcu: Convert call_rcu(xt_rateest_free_rcu) to kfree_rcu()
sysctl,rcu: Convert call_rcu(free_head) to kfree
vmalloc,rcu: Convert call_rcu(rcu_free_vb) to kfree_rcu()
vmalloc,rcu: Convert call_rcu(rcu_free_va) to kfree_rcu()
ipc,rcu: Convert call_rcu(ipc_immediate_free) to kfree_rcu()
ipc,rcu: Convert call_rcu(free_un) to kfree_rcu()
security,rcu: Convert call_rcu(sel_netport_free) to kfree_rcu()
security,rcu: Convert call_rcu(sel_netnode_free) to kfree_rcu()
ia64,rcu: Convert call_rcu(sn_irq_info_free) to kfree_rcu()
block,rcu: Convert call_rcu(disk_free_ptbl_rcu_cb) to kfree_rcu()
scsi,rcu: Convert call_rcu(fc_rport_free_rcu) to kfree_rcu()
audit_tree,rcu: Convert call_rcu(__put_tree) to kfree_rcu()
security,rcu: Convert call_rcu(whitelist_item_free) to kfree_rcu()
md,rcu: Convert call_rcu(free_conf) to kfree_rcu()
22 Jul, 2011
16 commits
-
icmp_route_lookup() uses the wrong flow parameters if the reverse
session route lookup isn't used.So do not commit to the re-decoded flow until we actually make a
final decision to use a real route saved in 'rt2'.Reported-by: Florian Westphal
Signed-off-by: David S. Miller -
Because the ip fragment offset field counts 8-byte chunks, ip
fragments other than the last must contain a multiple of 8 bytes of
payload. ip_ufo_append_data wasn't respecting this constraint and,
depending on the MTU and ip option sizes, could create malformed
non-final fragments.Google-Bug-Id: 5009328
Signed-off-by: Bill Sommerfeld
Signed-off-by: David S. Miller -
IPv6 fragment identification generation is way beyond what we use for
IPv4 : It uses a single generator. Its not scalable and allows DOS
attacks.Now inetpeer is IPv6 aware, we can use it to provide a more secure and
scalable frag ident generator (per destination, instead of system wide)This patch :
1) defines a new secure_ipv6_id() helper
2) extends inet_getid() to provide 32bit results
3) extends ipv6_select_ident() with a new dest parameterReported-by: Fernando Gont
Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
We currently cow metrics a bit too soon in IPv6 case : All routes are
tied to a single inetpeer entry.Change ip6_rt_copy() to get destination address as second argument, so
that we fill rt6i_dst before the dst_copy_metrics() call.icmp6_dst_alloc() must set rt6i_dst before calling dst_metric_set(), or
else the cow is done while rt6i_dst is still NULL.If orig route points to readonly metrics, we can share the pointer
instead of performing the memory allocation and copy.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller -
Some drivers (ab)use the ethtool_ops::get_regs operation to expose
only a hardware revision ID. Commit
a77f5db361ed9953b5b749353ea2c7fed2bf8d93 ('ethtool: Allocate register
dump buffer with vmalloc()') had the side-effect of breaking these, as
vmalloc() returns a null pointer for size=0 whereas kmalloc() did not.For backward-compatibility, allow zero-length dumps again.
Reported-by: Kalle Valo
Signed-off-by: Ben Hutchings
Cc: stable@kernel.org [2.6.37+]
Signed-off-by: David S. Miller -
There are two problems:
1) "n" was allocated with alloc_skb() so we should free it with
kfree_skb() instead of regular kfree().
2) We return the freed pointer instead of NULL.Signed-off-by: Dan Carpenter
Reviewed-by: Eric Dumazet
Signed-off-by: David S. Miller -
there are no users outside vlan code
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
has no users so remove it
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
- remove useless vlan parameters and pointers
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
no longer used
Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
Since vlan_group_get_device and vlan_group is not going to be accessible
from device drivers, introduce function which substitutes it.Signed-off-by: Jiri Pirko
Signed-off-by: David S. Miller -
Conflicts:
net/bluetooth/l2cap_core.c
21 Jul, 2011
2 commits
-
If overlapping networks with different interfaces was added to
the set, the type did not handle it properly. Exampleipset create test hash:net,iface
ipset add test 192.168.0.0/16,eth0
ipset add test 192.168.0.0/24,eth1Now, if a packet was sent from 192.168.0.0/24,eth0, the type returned
a match.In the patch the algorithm is fixed in order to correctly handle
overlapping networks.Limitation: the same network cannot be stored with more than 64 different
interfaces in a single set.Signed-off-by: Jozsef Kadlecsik
Signed-off-by: Patrick McHardy -
The RCU callback xt_rateest_free_rcu() just calls kfree(), so we can
use kfree_rcu() instead of call_rcu(). This also allows us to dispense
with an rcu_barrier() call, speeding up unloading of this module.Signed-off-by: Paul E. McKenney
Cc: Patrick McHardy
Reviewed-by: Josh Triplett
20 Jul, 2011
4 commits
-
Signed-off-by: Al Viro
-
combination of kern_path_parent() and lookup_create(). Does *not*
expose struct nameidata to caller. Syscalls converted to that...Signed-off-by: Al Viro
-
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client:
ceph: fix file mode calculation -
open(2) must always include one of O_RDONLY, O_WRONLY, or O_RDWR. No need
for any O_APPEND special case.Passing O_WRONLY|O_RDWR is undefined according to the man page, but the
Linux VFS interprets this as O_RDWR, so we'll do the same.This fixes open(2) with flags O_RDWR|O_APPEND, which was incorrectly being
translated to readonly.Reported-by: Fyodor Ustinov
Signed-off-by: Sage Weil
19 Jul, 2011
3 commits
-
Introduces a new nfnetlink type that applies a given
verdict to all queued packets with an id
Signed-off-by: Patrick McHardy -
Packet identifier is currently setup in nfqnl_build_packet_message(),
using one atomic_inc_return().Problem is that since several cpus might concurrently call
nfqnl_enqueue_packet() for the same queue, we can deliver packets to
consumer in non monotonic way (packet N+1 being delivered after packet
N)This patch moves the packet id setup from nfqnl_build_packet_message()
to nfqnl_enqueue_packet() to guarantee correct delivery order.This also removes one atomic operation.
Signed-off-by: Eric Dumazet
CC: Florian Westphal
CC: Pablo Neira Ayuso
CC: Eric Leblond
Signed-off-by: Patrick McHardy -
Compiler is not smart enough to avoid double BSWAP instructions in
ntohl(inet_make_mask(plen)).Lets cache this value in struct leaf_info, (fill a hole on 64bit arches)
With route cache disabled, this saves ~2% of cpu in udpflood bench on
x86_64 machine.Signed-off-by: Eric Dumazet
Signed-off-by: David S. Miller
18 Jul, 2011
1 commit
-
nenetlink_queue operations on SMP are not efficent if several queues are
used, because of nfnl_mutex contention when applications give packet
verdict.Use new call_rcu field in struct nfnl_callback to advertize a callback
that is called under rcu_read_lock instead of nfnl_mutex.On my 2x4x2 machine, I was able to reach 2.000.000 pps going through
user land returning NF_ACCEPT verdicts without losses, instead of less
than 500.000 pps before patch.Signed-off-by: Eric Dumazet
CC: Florian Westphal
CC: Eric Leblond
Signed-off-by: Patrick McHardy