Neil Brown [Tue, 16 Oct 2007 11:48:46 +0000 (13:48 +0200)]
Fix memory leak in dm-crypt
dm-crypt used the ->bi_size member in the bio endio handling to
free the appropriate pages, but it frees all of it from both call
paths. With the ->bi_end_io() changes, ->bi_size was always 0 since
we don't do partial completes. This caused dm-crypt to leak memory.
Fix this by removing the size argument from crypt_free_buffer_pages().
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 10:29:34 +0000 (12:29 +0200)]
Merge branch 'sglist-arch' into for-linus
Jens Axboe [Tue, 16 Oct 2007 10:29:29 +0000 (12:29 +0200)]
Merge branch 'barrier' into for-linus
Jens Axboe [Tue, 7 Aug 2007 07:37:10 +0000 (09:37 +0200)]
SPARC64: sg chaining support
This updates the sparc64 iommu/pci dma mappers to sg chaining.
Acked-by: David S. Miller <davem@davemloft.net>
Later updated to newer kernel with unified sparc64 iommu sg handling.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 14 May 2007 13:44:38 +0000 (15:44 +0200)]
SPARC: sg chaining support
This updates the sparc iommu/pci dma mappers to sg chaining.
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 12 Oct 2007 11:44:12 +0000 (13:44 +0200)]
PPC: sg chaining support
This updates the ppc iommu/pci dma mappers to sg chaining. Includes
further fixes from FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 19 Jul 2007 06:22:17 +0000 (08:22 +0200)]
PS3: sg chaining support
Acked-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:27:26 +0000 (11:27 +0200)]
IA64: sg chaining support
This updates the ia64 iommu/pci dma mappers to sg chaining.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 10 May 2007 09:59:55 +0000 (11:59 +0200)]
x86-64: enable sg chaining
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Oct 2007 07:35:37 +0000 (09:35 +0200)]
x86-64: update pci-gart iommu to sg helpers
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Jul 2007 10:39:27 +0000 (12:39 +0200)]
x86-64: update nommu to sg helpers
Acked-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Jul 2007 10:38:15 +0000 (12:38 +0200)]
x86-64: update calgary iommu to sg helpers
Acked-by: Muli Ben-Yehuda <muli@il.ibm.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 11 May 2007 12:56:18 +0000 (14:56 +0200)]
swiotlb: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 11 May 2007 10:57:30 +0000 (12:57 +0200)]
i386: enable sg chaining
We don't need to do more on x86, there's no iommu to be worried about.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 07:15:27 +0000 (09:15 +0200)]
i386 dma_map_sg: convert to using sg helpers
The dma mapping helpers need to be converted to using
sg helpers as well, so they will work with a chained
sglist setup.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 4 Oct 2007 18:11:30 +0000 (20:11 +0200)]
mmc: need to zero sglist on init
Otherwise we could have junk in the sg fields, fooling
the sg chaining into thinking ->page is valid.
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Lee Schermerhorn [Fri, 21 Sep 2007 06:33:55 +0000 (08:33 +0200)]
Panic in blk_rq_map_sg() from CCISS driver
New scatter/gather list chaining [sg_next()] treats 'page' member of
struct scatterlist with low bit set [0x01] as a chain pointer to
another struct scatterlist [array]. The CCISS driver request function
passes an uninitialized, temporary, on-stack scatterlist array to
blk_rq_map_sq(). sg_next() interprets random data on the stack as a
chain pointer and eventually tries to de-reference an invalid pointer,
resulting in:
[<
ffffffff8031dd70>] blk_rq_map_sg+0x70/0x170
PGD
6090c3067 PUD 0
Oops: 0000 [1] SMP
last sysfs file: /block/cciss!c0d0/cciss!c0d0p1/dev
CPU 6
Modules linked in: ehci_hcd ohci_hcd uhci_hcd
Pid: 1, comm: init Not tainted 2.6.23-rc6-mm1 #3
RIP: 0010:[<
ffffffff8031dd70>] [<
ffffffff8031dd70>] blk_rq_map_sg+0x70/0x170
RSP: 0018:
ffff81060901f768 EFLAGS:
00010206
RAX:
000000040b161000 RBX:
ffff81060901f7d8 RCX:
000000040b162c00
RDX:
0000000000000000 RSI:
ffff81060b13a260 RDI:
ffff81060b139600
RBP:
0000000000001400 R08:
00000000fffffffe R09:
0000000000000400
R10:
0000000000000000 R11:
000000040b163000 R12:
ffff810102fe0000
R13:
0000000000000001 R14:
0000000000000001 R15:
00001e0000000000
FS:
00000000026108f0(0063) GS:
ffff810409000b80(0000) knlGS:
0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0:
000000008005003b
CR2:
000000010000001e CR3:
00000006090c6000 CR4:
00000000000006e0
DR0:
0000000000000000 DR1:
0000000000000000 DR2:
0000000000000000
DR3:
0000000000000000 DR6:
00000000ffff0ff0 DR7:
0000000000000400
Process init (pid: 1, threadinfo
ffff81060901e000, task
ffff810409020800)
last branch before last exception/interrupt
from [<
ffffffff8031de0a>] blk_rq_map_sg+0x10a/0x170
to [<
ffffffff8031dd70>] blk_rq_map_sg+0x70/0x170
Stack:
000000018068ea00 ffff810102fe0000 0000000000000000 ffff810011400000
0000000000000002 0000000000000000 ffff81040b172000 ffffffff803acd3d
0000000000003ec1 ffff8106090d5000 ffff8106090d5000 ffff810102fe0000
Call Trace:
[<
ffffffff803acd3d>] do_cciss_request+0x15d/0x4c0
[<
ffffffff80298968>] new_slab+0x1c8/0x270
[<
ffffffff80298ffd>] __slab_alloc+0x22d/0x470
[<
ffffffff8027327b>] mempool_alloc+0x4b/0x130
[<
ffffffff8032b21e>] cfq_set_request+0xee/0x380
[<
ffffffff8027327b>] mempool_alloc+0x4b/0x130
[<
ffffffff8031ff98>] get_request+0x168/0x360
[<
ffffffff80331b0d>] rb_insert_color+0x8d/0x110
[<
ffffffff8031cfd8>] elv_rb_add+0x58/0x60
[<
ffffffff8032a329>] cfq_add_rq_rb+0x69/0xa0
[<
ffffffff8031c1ab>] elv_merged_request+0x5b/0x60
[<
ffffffff803224fd>] __make_request+0x23d/0x650
[<
ffffffff80298ffd>] __slab_alloc+0x22d/0x470
[<
ffffffff80270000>] generic_write_checks+0x140/0x190
[<
ffffffff8031f012>] generic_make_request+0x1c2/0x3a0
<etc>
Kernel panic - not syncing: Attempted to kill init!
This patch initializes the tmp_sg array to zeroes. Perhaps not the ultimate
fix, but an effective work-around. I can now boot 23-rc6-mm1 on an HP
Proliant x86_64 with CCISS boot disk.
Signed-off-by: Lee Schermerhorn <lee.schermerhorn@hp.com>
drivers/block/cciss.c | 1 +
1 file changed, 1 insertion(+)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Tue, 18 Sep 2007 10:17:28 +0000 (12:17 +0200)]
remove sglist_len
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Tue, 18 Sep 2007 10:16:45 +0000 (12:16 +0200)]
remove blk_queue_max_phys_segments in libata
LIBATA_MAX_PRD is the maximum number of DMA scatter/gather elements
permitted by the HBA's DMA engine. It's properly set to
q->max_hw_segments via the sg_tablesize parameter.
libata shouldn't call blk_queue_max_phys_segments. Now LIBATA_MAX_PRD
is equal to SCSI_MAX_PHYS_SEGMENTS by default (both is 128), so
everything is fine. But if they are changed, some code (like the scsi
mid layer, sg chaining, etc) might not work properly.
(Addition from Jens) The basic issue is that the physical segment
setting is purely a driver issue. And since SCSI is managing the sglist,
libata has no business changing the setting. All libata should care
about is the hw segment setting.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Tue, 18 Sep 2007 10:14:37 +0000 (12:14 +0200)]
revert sg segment size ifdefs
This reverts sg segment size ifdefs that the current code has in order
to provide a way to reduce sgpool memory consumption.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Andrew Morton [Mon, 17 Sep 2007 13:29:44 +0000 (15:29 +0200)]
Fixup u14-34f ENABLE_SG_CHAINING
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Mon, 17 Sep 2007 13:28:22 +0000 (15:28 +0200)]
qla1280: enable use_sg_chaining option
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Tue, 16 Oct 2007 09:24:32 +0000 (11:24 +0200)]
[SCSI] add use_sg_chaining option to scsi_host_template
This option is true if a low-level driver can support sg
chaining. This will be removed eventually when all the drivers are
converted to support sg chaining. q->max_phys_segments is set to
SCSI_MAX_SG_SEGMENTS if false.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Mon, 10 Sep 2007 03:17:13 +0000 (04:17 +0100)]
qla1280: sg chaining fixes
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Sat, 18 Aug 2007 09:27:36 +0000 (18:27 +0900)]
libata sg chaining support fix
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Mon, 30 Jul 2007 14:01:32 +0000 (23:01 +0900)]
zfcp: sg chaining support
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
FUJITA Tomonori [Mon, 16 Jul 2007 13:24:14 +0000 (15:24 +0200)]
ips: sg chaining support
ips properly uses scsi_for_each_sg for the normal I/O path, however,
the breakup path doesn't.
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 25 Jul 2007 06:13:56 +0000 (08:13 +0200)]
IDE: sg chaining support
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Jul 2007 12:42:11 +0000 (14:42 +0200)]
i2o: sg chaining support
Acked-by: Alan Cox <alan@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 16 Jul 2007 13:30:33 +0000 (15:30 +0200)]
Fusion: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 11 May 2007 10:33:09 +0000 (12:33 +0200)]
USB storage: sg chaining support
[PATCH] USB storage: sg chaining support
Modify usb_stor_access_xfer_buf() to take a pointer to an sg
entry pointer, so we can keep track of that instead of passing
around an integer index (which we can't use when dealing with
multiple scatterlist arrays).
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 24 Jul 2007 12:41:13 +0000 (14:41 +0200)]
infiniband: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 16 Jul 2007 08:00:31 +0000 (10:00 +0200)]
aha1542: convert to use the data buffer accessors
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:20:52 +0000 (11:20 +0200)]
ide-scsi: sg chaining support
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 11:43:12 +0000 (13:43 +0200)]
qlogicpti: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 11:18:54 +0000 (13:18 +0200)]
aic94xx: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 11:02:43 +0000 (13:02 +0200)]
qla1280: sg chaining support
Interesting hardware setup...
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 11 May 2007 13:01:01 +0000 (15:01 +0200)]
scsi generic: sg chaining support
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 16 Jul 2007 08:19:24 +0000 (10:19 +0200)]
scsi_debug: support sg chaining
Signed-off-by: Douglas Gilbert <dougg@torque.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:14:12 +0000 (11:14 +0200)]
libata: convert to using sg helpers
This converts libata to using the sg helpers for looking up sg
elements, instead of doing it manually.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 7 Aug 2007 07:02:51 +0000 (09:02 +0200)]
SCSI: support for allocating large scatterlists
This is what enables large commands. If we need to allocate an
sgtable that doesn't fit in a single page, allocate several
SCSI_MAX_SG_SEGMENTS sized tables and chain them together.
SCSI defaults to large chained sg tables, if the arch supports it.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:12:37 +0000 (11:12 +0200)]
scsi: simplify scsi_free_sgtable()
Just pass in the command, no point in passing in the scatterlist
and scatterlist pool index seperately.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
saeed bishara [Wed, 8 Aug 2007 11:09:00 +0000 (13:09 +0200)]
use sg helper function in DMA mapping documentation
Signed-off-by: Saeed Bishara <saeed.bishara@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 10 May 2007 11:29:51 +0000 (13:29 +0200)]
ll_rw_blk: temporarily enable max_segments tweaking
Expose this setting for now, so that users can play with enabling
large commands without defaulting it to on globally. This is a debug
patch, it will be dropped for the final versions.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Mon, 16 Jul 2007 19:17:16 +0000 (21:17 +0200)]
Add chained sg support to linux/scatterlist.h
The core of the patch - allow the last sg element in a scatterlist
table to point to the start of a new table. We overload the LSB of
the page pointer to indicate whether this is a valid sg entry, or
merely a link to the next list.
Includes a fix from Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
correcting the ifdef ARCH_HAS_SG_CHAIN guarding sg_last().
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:08:49 +0000 (11:08 +0200)]
scsi: convert to using sg helpers
This converts the SCSI mid layer to using the sg helpers for looking up
sg elements, instead of doing it manually.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 21 Sep 2007 08:44:19 +0000 (10:44 +0200)]
block: convert to using sg helpers
Convert the main rq mapper (blk_rq_map_sg()) to the sg helper setup.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 07:02:57 +0000 (09:02 +0200)]
Add sg helpers for iterating over a scatterlist table
First step to being able to change the scatterlist setup without
having to modify drivers (a lot :-)
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 9 May 2007 06:58:32 +0000 (08:58 +0200)]
crypto: don't pollute the global namespace with sg_next()
It's a subsystem function, prefix it as such.
Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Laurent Riffard [Fri, 21 Sep 2007 06:32:28 +0000 (08:32 +0200)]
pktcdvd: don't rely on bio_init() preserving bio->bi_destructor
Signed-off-by: Laurent Riffard <laurent.riffard@free.fr>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 14 Sep 2007 11:06:53 +0000 (13:06 +0200)]
pktcdvd: don't rely on bio_init() preserving bio->bi_io_vec
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Adrian Bunk [Fri, 14 Sep 2007 08:02:06 +0000 (10:02 +0200)]
remove ide_get_error_location()
Signed-off-by: Adrian Bunk <bunk@kernel.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 09:05:02 +0000 (11:05 +0200)]
block: convert blkdev_issue_flush() to use empty barriers
Then we can get rid of ->issue_flush_fn() and all the driver private
implementations of that.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Thu, 27 Sep 2007 11:01:25 +0000 (13:01 +0200)]
block: Initial support for data-less (or empty) barrier support
This implements functionality to pass down or insert a barrier
in a queue, without having data attached to it. The ->prepare_flush_fn()
infrastructure from data barriers are reused to provide this
functionality.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Jul 2007 11:27:58 +0000 (13:27 +0200)]
block: factor our bio_check_eod()
End of device check is done twice in __generic_make_request() and it's
fully inlined each time. Factor out bio_check_eod().
Signed-off-by: Tejun Heo <htejun@gmail.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Fri, 21 Sep 2007 08:41:07 +0000 (10:41 +0200)]
block: add end_queued_request() and end_dequeued_request() helpers
We can use this helper in the elevator core for BLKPREP_KILL, and it'll
also be useful for the empty barrier patch.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Jul 2007 11:18:08 +0000 (13:18 +0200)]
bio: make freeing of ->bi_io_vec conditional in bio_free()
The empty barrier patches do not carry data, so they have no
iovec attached.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Jul 2007 11:14:03 +0000 (13:14 +0200)]
bio: use memset() in bio_init()
Use memset() to clear the bio, instead of doing each field manually.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Wed, 18 Jul 2007 11:13:10 +0000 (13:13 +0200)]
block: ll_rw_blk.c: cosmetics
Fix ?: construct, a typo, whitespace, and similar.
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Rob Landley [Tue, 16 Oct 2007 08:11:28 +0000 (10:11 +0200)]
Add Documentation/block/00-INDEX
Add Documentation/block/00-INDEX
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jens Axboe [Tue, 16 Oct 2007 08:01:29 +0000 (10:01 +0200)]
splice: fix double kunmap() in vmsplice copy path
The out label should not include the unmap, the only way to jump
there already has unmapped the source.
00002000
f7c21a00 00000000 00000000 c0489036 00018e32 00000002 00000000
00001000
Call Trace:
[<
c0487dd9>] pipe_to_user+0xca/0xd3
[<
c0488233>] __splice_from_pipe+0x53/0x1bd
[<
c0454947>] ------------[ cut here ]------------
filemap_fault+0x221/0x380
[<
c0487d0f>] pipe_to_user+0x0/0xd3
[<
c0489036>] sys_vmsplice+0x3b7/0x422
[<
c045ec3f>] kernel BUG at mm/highmem.c:206!
handle_mm_fault+0x4d5/0x8eb
[<
c041ed5b>] kmap_atomic+0x1c/0x20
[<
c045d33d>] unmap_vmas+0x3d1/0x584
[<
c045f717>] free_pgtables+0x90/0xa0
[<
c041d84b>] pgd_dtor+0x0/0x1
[<
c044d665>] audit_syscall_exit+0x2aa/0x2c6
[<
c0407817>] do_syscall_trace+0x124/0x169
[<
c0404df2>] syscall_call+0x7/0xb
=======================
Code: 2d 00 d0 5b 00 25 00 00 e0 ff 29 invalid opcode: 0000 [#1]
c2 89 d0 c1 e8 0c 8b 14 85 a0 6c 7c c0 4a 85 d2 89 14 85 a0 6c 7c c0 74 07
31 c9 4a 75 15 eb 04 <0f> 0b eb fe 31 c9 81 3d 78 38 6d c0 78 38 6d c0 0f
95 c1 b0 01
EIP: [<
c045bbc3>] kunmap_high+0x51/0x8e SS:ESP 0068:
f5960df0
SMP
Modules linked in: netconsole autofs4 hidp nfs lockd nfs_acl rfcomm l2cap
bluetooth sunrpc ipv6 ib_iser rdma_cm ib_cm iw_cmib_sa ib_mad ib_core
ib_addr iscsi_tcp libiscsi scsi_transport_iscsi dm_mirror dm_multipath
dm_mod video output sbs batteryac parport_pc lp parport sg i2c_piix4
i2c_core floppy cfi_probe gen_probe scb2_flash mtd chipreg tg3 e1000 button
ide_cd serio_raw cdrom aic7xxx scsi_transport_spi sd_mod scsi_mod ext3 jbd
ehci_hcd ohci_hcd uhci_hcd
CPU: 3
EIP: 0060:[<
c045bbc3>] Not tainted VLI
EFLAGS:
00010246 (2.6.23 #1)
EIP is at kunmap_high+0x51/0x8e
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Alan D. Brunelle [Mon, 15 Oct 2007 11:22:26 +0000 (13:22 +0200)]
Some IO scheduler cleanup in Documentation/block
as-iosched.txt:
o Changed IO scheduler selection text to a reference to the
switching-sched.txt file.
o Fixed typo: 'for up time...' -> 'for up to...'
o Added short description of the est_time file.
deadline-iosched.txt:
o Changed IO scheduler selection text to a reference to the
switching-sched.txt file.
o Removed references to non-existent seek-cost and stream_unit.
o Fixed typo: 'write_starved' -> 'writes_starved'
switching-sched.txt:
o Added in boot-time argument to set the default IO scheduler. (From
as-iosched.txt)
o Added in sysfs mount instructions. (From deadline-iosched.txt)
Signed-off-by: Alan D. Brunelle <Alan.Brunelle@hp.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Rob Landley [Mon, 15 Oct 2007 09:42:52 +0000 (11:42 +0200)]
Update Jens Axboe's email in Documentation/*
Jens Axboe's old email address bounces.
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Jeff Garzik [Mon, 15 Oct 2007 09:02:15 +0000 (11:02 +0200)]
drivers/block/cpqarray,cciss: kill unused var
The recent bio work and subsequent fixups created unused variables.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Arjan van de Ven [Mon, 15 Oct 2007 09:01:53 +0000 (11:01 +0200)]
bsg: mark struct file_operations const
struct file_operations is generally const (to avoid false sharing and get compile time errors on accidental writing to this shared structure); bsg recently added one of these without the const keyword. Patch below marks it const....
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Linus Torvalds [Mon, 15 Oct 2007 23:08:50 +0000 (16:08 -0700)]
Merge branch 'devel' of /home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (95 commits)
[ARM] 4578/1: CM-x270: PCMCIA support
[ARM] 4577/1: ITE 8152 PCI bridge support
[ARM] 4576/1: CM-X270 machine support
[ARM] pxa: Avoid pxa_gpio_mode() in gpio_direction_{in,out}put()
[ARM] pxa: move pxa_set_mode() from pxa2xx_mainstone.c to mainstone.c
[ARM] pxa: move pxa_set_mode() from pxa2xx_lubbock.c to lubbock.c
[ARM] pxa: Make cpu_is_pxaXXX dependent on configuration symbols
[ARM] pxa: PXA3xx base support
[NET] smc91x: fix PXA DMA support code
[SERIAL] Fix console initialisation ordering
[ARM] pxa: tidy up arch/arm/mach-pxa/Makefile
[ARM] Update arch/arm/Kconfig for drivers/Kconfig changes
[ARM] 4600/1: fix kernel build failure with build-id-supporting binutils
[ARM] 4599/1: Preserve ATAG list for use with kexec (2.6.23)
[ARM] Rename consistent_sync() as dma_cache_maint()
[ARM] 4572/1: ep93xx: add cirrus logic
edb9307 support
[ARM] 4596/1: S3C2412: Correct IRQs for SDI+CF and add decoding support
[ARM] 4595/1: ns9xxx: define registers as void __iomem * instead of volatile u32
[ARM] 4594/1: ns9xxx: use the new gpio functions
[ARM] 4593/1: ns9xxx: implement generic clockevents
...
Linus Torvalds [Mon, 15 Oct 2007 23:07:40 +0000 (16:07 -0700)]
Merge branch 'locks' of git://linux-nfs.org/~bfields/linux
* 'locks' of git://linux-nfs.org/~bfields/linux:
nfsd: remove IS_ISMNDLCK macro
Rework /proc/locks via seq_files and seq_list helpers
fs/locks.c: use list_for_each_entry() instead of list_for_each()
NFS: clean up explicit check for mandatory locks
AFS: clean up explicit check for mandatory locks
9PFS: clean up explicit check for mandatory locks
GFS2: clean up explicit check for mandatory locks
Cleanup macros for distinguishing mandatory locks
Documentation: move locks.txt in filesystems/
locks: add warning about mandatory locking races
Documentation: move mandatory locking documentation to filesystems/
locks: Fix potential OOPS in generic_setlease()
Use list_first_entry in locks_wake_up_blocks
locks: fix flock_lock_file() comment
Memory shortage can result in inconsistent flocks state
locks: kill redundant local variable
locks: reverse order of posix_locks_conflict() arguments
Linus Torvalds [Mon, 15 Oct 2007 22:32:57 +0000 (15:32 -0700)]
Merge branch 'release' of ssh:///linux/kernel/git/aegl/linux-2.6
* 'release' of ssh://master.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
[IA64] build fix for scatterlist
Jeff Garzik [Mon, 15 Oct 2007 22:10:12 +0000 (18:10 -0400)]
[libata] pata_cs5536: new API build fix
This driver was using hooks that were very recently removed.
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Linus Torvalds [Mon, 15 Oct 2007 21:06:58 +0000 (14:06 -0700)]
Merge branch 'master' of /linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (42 commits)
[IPV6]: Consolidate the ip6_pol_route_(input|output) pair
[TCP]: Make snd_cwnd_cnt 32-bit
[TCP]: Update the /proc/net/tcp documentation
[NETNS]: Don't panic on creating the namespace's loopback
[NEIGH]: Ensure that pneigh_lookup is protected with RTNL
[INET]: kmalloc+memset -> kzalloc in frag_alloc_queue
[ISDN]: Fix compile with CONFIG_ISDN_X25 disabled.
[IPV6]: Replace sk_buff ** with sk_buff * in input handlers
[SELINUX]: Update for netfilter ->hook() arg changes.
[INET]: Consolidate the xxx_put
[INET]: Small cleanup for xxx_put after evictor consolidation
[INET]: Consolidate the xxx_evictor
[INET]: Consolidate the xxx_frag_destroy
[INET]: Consolidate xxx_the secret_rebuild
[INET]: Consolidate the xxx_frag_kill
[INET]: Collect common frag sysctl variables together
[INET]: Collect frag queues management objects together
[INET]: Move common fields from frag_queues in one place.
[TG3]: Fix performance regression on 5705.
[ISDN]: Remove local copy of device name to make sure renames work.
...
Jeremy Katz [Mon, 15 Oct 2007 20:45:10 +0000 (16:45 -0400)]
Map volume and brightness events on thinkpads
There are standard keycodes for brightness and volume; map the events to
emit them so that things work properly
Signed-off-by: Jeremy Katz <katzj@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Tony Luck [Mon, 15 Oct 2007 20:49:43 +0000 (13:49 -0700)]
[IA64] build fix for scatterlist
include/scsi/scsi_eh.h:79: error: field `sense_sgl' has incomplete type
x86 resolves this by including scatterlist.h from dma-mapping.h which
seems as good a place as any.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Linus Torvalds [Mon, 15 Oct 2007 20:41:39 +0000 (13:41 -0700)]
Merge branch 'for-linus' of git://git./linux/kernel/git/dtor/input
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (40 commits)
Input: use full RCU API
Input: remove tsdev interface
Input: add support for Blackfin BF54x Keypad controller
Input: appletouch - another fix for idle reset logic
HWMON: hdaps - switch to using input-polldev
Input: add support for SEGA Dreamcast keyboard
Input: omap-keyboard - don't pretend we support changing keymap
Input: lifebook - fix X and Y axis range
Input: usbtouchscreen - add support for GeneralTouch devices
Input: fix open count handling in input interfaces
Input: keyboard - add CapsShift lock
Input: adbhid - produce all CapsLock key events
Input: ALPS - add signature for ThinkPad R61
Input: jornada720_kbd - send MSC_SCAN events
Input: add support for the HP Jornada 7xx (710/720/728) touchscreen
Input: add support for HP Jornada 7xx onboard keyboard
Input: add support for HP Jornada onboard keyboard (HP6XX)
Input: ucb1400_ts - use schedule_timeout_uninterruptible
Input: xpad - fix dependancy on LEDS class
Input: auto-select INPUT for MAC_EMUMOUSEBTN option
...
Resolved conflicts manually in drivers/hwmon/applesmc.c: converting from
a class device to a device and converting to use input-polldev created a
few apparently trivial clashes..
Linus Torvalds [Mon, 15 Oct 2007 20:31:14 +0000 (13:31 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/libata-dev
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev:
[libata] pata_pcmcia: Add additional id string (corsair, 1GB)
libata: prevent devices with blank model names from being DMA blacklisted
ata_piix: SATA 2port controller port map fix
pata_cs5536: ATA driver for Geode companion chip
libata: add ST9160821AS / 3.CCD to NCQ blacklist
libata: fix revalidation issuing after configuration commands
[libata] sata_nv: add SW NCQ support for MCP51/MCP55/MCP61
[libata] pata_sil680: Add MMIO support
Linus Torvalds [Mon, 15 Oct 2007 20:30:35 +0000 (13:30 -0700)]
Merge branch 'upstream-linus' of /linux/kernel/git/jgarzik/netdev-2.6
* 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: (35 commits)
xen-netfront: rearrange netfront structure to separate tx and rx
netdev: convert non-obvious instances to use ARRAY_SIZE()
ucc_geth: Fix build break introduced by commit
09f75cd7bf13720738e6a196cc0107ce9a5bd5a0
gianfar: Fix regression caused by new napi interface
gianfar: Cleanup compile warning caused by
0795af57
gianfar: Fix compile regression caused by
bea3348e
add new prom.h for AU1x00
update AU1000 get_ethernet_addr()
MIPSsim: General cleanup
Jazzsonic: Fix warning about unused variable.
Remove msic_dcr_read() in axon_msi.c
Use dcr_host_t.base in dcr_unmap()
Add dcr_host_t.base in dcr_read()/dcr_write()
Use dcr_host_t.base in ibm_emac_mal
Update ibm_newemac to use dcr_host_t.base
tehuti: possible leak in bdx_probe
TC35815: Fix build
SAA9730: Fix build
AR7 ethernet
myri10ge: update driver version to 1.3.2-1.287
...
Jeremy Fitzhardinge [Mon, 15 Oct 2007 19:59:53 +0000 (12:59 -0700)]
xen-netfront: rearrange netfront structure to separate tx and rx
Keep tx and rx elements separate on different cachelines to prevent
bouncing.
Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Cc: Stephen Hemminger <shemminger@linux-foundation.org>
Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Geert Uytterhoeven [Mon, 15 Oct 2007 19:51:10 +0000 (21:51 +0200)]
Atari keyboard: incorporate additional review comments
Atari keyboard: incorporate additional review comments:
o Kill reference to source file name
o Return error value from input_register_device() instead of -ENOMEM
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Michael Schmitz <schmitz@biophys.uni-duesseldorf.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Pavel Emelyanov [Mon, 15 Oct 2007 20:02:51 +0000 (13:02 -0700)]
[IPV6]: Consolidate the ip6_pol_route_(input|output) pair
The difference in both functions is in the "id" passed to
the rt6_select, so just pass it as an extra argument from
two outer helpers.
This is minus 60 lines of code and 360 bytes of .text
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Ilpo Järvinen [Mon, 15 Oct 2007 19:59:43 +0000 (12:59 -0700)]
[TCP]: Make snd_cwnd_cnt 32-bit
Very little point of having 32-bit snd_cnwd if this is not
32-bit as well, as a number of snd_cwnd incrementation formulas
assume that snd_cwnd_cnt can be at least as large as snd_cwnd.
Whether 32-bit is useful was discussed when
e0ef57cc56c3c96
was made:
http://marc.info/?l=linux-netdev&m=
117218144409825&w=2
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
Jean Delvare [Mon, 15 Oct 2007 19:58:35 +0000 (12:58 -0700)]
[TCP]: Update the /proc/net/tcp documentation
* Say that this interface is deprecated.
* Update function name references to match the current code.
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Alejandro Martinez Ruiz [Mon, 15 Oct 2007 01:37:43 +0000 (03:37 +0200)]
netdev: convert non-obvious instances to use ARRAY_SIZE()
This will convert remaining non-obvious or naive calculations of array
sizes to use ARRAY_SIZE() macro.
Signed-off-by: Alejandro Martinez Ruiz <alex@flawedcode.org>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Pavel Emelyanov [Mon, 15 Oct 2007 19:55:33 +0000 (12:55 -0700)]
[NETNS]: Don't panic on creating the namespace's loopback
When the loopback device is failed to initialize inside the new
namespaces, panic() is called. Do not do it when the namespace
in question is not the init_net.
Plus cleanup the error path a bit.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 15 Oct 2007 19:55:20 +0000 (12:55 -0700)]
Reinstate lost flush_ioremap_region() fix to pxa2xx-flash driver
Commit
90833fdab89da02fc0276224167f0a42e5176f41 ("[ARM] 4554/1: replace
consistent_sync() with flush_ioremap_region()") introduced a new
"flush_ioremap_region()" function to be used by the MTD mainstone-flash
and lubbock-flash drivers to fix a regression from around 2.6.18.
Those drivers were independently merged into a single driver by Todd
Poynor in commit
e644f7d6289456657996df4192de76c5d0a9f9c7 ("[MTD] MAPS:
Merge Lubbock and Mainstone drivers into common PXA2xx driver")
Later, those two commits were merged into the main MTD tree by commit
b160292cc216a50fd0cd386b0bda2cd48352c73b ("Merge Linux 2.6.23") by David
Woodhouse, but in that merge, the fix to use flush_iomap_region() got
lost (as it was to files that now no longer existed).
This reinstates the fix in the new driver.
Noticed-by: Russell King <rmk@arm.linux.org.uk>
Tested-and-acked-by: Nicolas Pitre <nico@cam.org>
Cc: David Woodhouse <dwmw2@infradead.org>
Cc: Jared Hulbert <jaredeh@gmail.com>
Cc: Todd Poynor <tpoynor@mvista.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Pavel Emelyanov [Mon, 15 Oct 2007 19:54:15 +0000 (12:54 -0700)]
[NEIGH]: Ensure that pneigh_lookup is protected with RTNL
The pnigh_lookup is used to lookup proxy entries and to
create them in case lookup failed.
However, the "creation" code does not perform the re-lookup
after GFP_KERNEL allocation. This is done because the code
is expected to be protected with the RTNL lock, so add the
assertion (mainly to address future questions from new network
developers like me :) ).
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Denis V. Lunev [Mon, 15 Oct 2007 19:53:13 +0000 (12:53 -0700)]
[INET]: kmalloc+memset -> kzalloc in frag_alloc_queue
kmalloc + memset -> kzalloc in frag_alloc_queue
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Denis V. Lunev [Mon, 15 Oct 2007 19:52:20 +0000 (12:52 -0700)]
[ISDN]: Fix compile with CONFIG_ISDN_X25 disabled.
On Mon, Oct 15, 2007 at 06:44:56PM +0400, Denis V. Lunev wrote:
Compilation fix. The problem appears after
7c076d1de869256848dacb8de0050a3a390f95df by Karsten Keil <kkeil@suse.de>
Acked-by: Karsten Keil <kkeil@suse.de>
Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Kristoffer Ericson [Mon, 15 Oct 2007 19:51:42 +0000 (15:51 -0400)]
[libata] pata_pcmcia: Add additional id string (corsair, 1GB)
Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Herbert Xu [Mon, 15 Oct 2007 19:50:28 +0000 (12:50 -0700)]
[IPV6]: Replace sk_buff ** with sk_buff * in input handlers
With all the users of the double pointers removed from the IPv6 input path,
this patch converts all occurances of sk_buff ** to sk_buff * in IPv6 input
handlers.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: David S. Miller <davem@davemloft.net>
Linus Torvalds [Mon, 15 Oct 2007 19:46:16 +0000 (12:46 -0700)]
scsi/gdth: fix crash in gdth_timeout if no gdth controllers found
If the gdth module is loaded (or compiled in), the gdth_timeout function
gets started even if no actual gdth controllers are found b the probing.
That ends up not only being unnecessary, but also causes a crash due to
the function blindly just trying to pick the first entry off the
"gdth_instances" list, and accessing it - which obviously doesn't work
if the list is empty!
Noticed by Ingo Molnar.
Tested-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Andrew Paprocki [Mon, 15 Oct 2007 19:43:12 +0000 (15:43 -0400)]
libata: prevent devices with blank model names from being DMA blacklisted
The strn_pattern_cmp routine does not handle a blank name parameter
properly. The only patterns which should match a blank name are "*"
and an explicit "". If the function is passed a blank name in current
code, it will always match against the patt parameter. The bug manifests
itself as the device with the empty model name always matching the first
device in the DMA blacklist, forcing it to revert to PIO mode.
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
Jason Gaston [Thu, 11 Oct 2007 23:05:15 +0000 (16:05 -0700)]
ata_piix: SATA 2port controller port map fix
This patch adds a port map for ICH9 and ICH8 SATA controllers that have only 2 ports available in that mode.
Signed-off-by: Jason Gaston <jason.d.gaston@intel.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Martin K. Petersen [Thu, 11 Oct 2007 07:38:19 +0000 (03:38 -0400)]
pata_cs5536: ATA driver for Geode companion chip
This is a driver for the ATA controller on the Geode CS5536 companion
chip. The PCI device ID for this device was previously claimed by
pata_amd.c but the PIO timings were not correct. This driver also
works around a bug in some BIOSes that handle unaligned access to the
PCI config registers poorly. Finally, the driver allows fallback to
using MSR registers for configuration on BIOSes that are truly
broken.
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
David S. Miller [Mon, 15 Oct 2007 09:58:25 +0000 (02:58 -0700)]
[SELINUX]: Update for netfilter ->hook() arg changes.
They take a "struct sk_buff *" instead of a "struct sk_buff **" now.
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:41:56 +0000 (02:41 -0700)]
[INET]: Consolidate the xxx_put
These ones use the generic data types too, so move
them in one place.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:41:09 +0000 (02:41 -0700)]
[INET]: Small cleanup for xxx_put after evictor consolidation
After the evictor code is consolidated there is no need in
passing the extra pointer to the xxx_put() functions.
The only place when it made sense was the evictor code itself.
Maybe this change must got with the previous (or with the
next) patch, but I try to make them shorter as much as
possible to simplify the review (but they are still large
anyway), so this change goes in a separate patch.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:40:06 +0000 (02:40 -0700)]
[INET]: Consolidate the xxx_evictor
The evictors collect some statistics for ipv4 and ipv6,
so make it return the number of evicted queues and account
them all at once in the caller.
The XXX_ADD_STATS_BH() macros are just for this case,
but maybe there are places in code, that can make use of
them as well.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:39:14 +0000 (02:39 -0700)]
[INET]: Consolidate the xxx_frag_destroy
To make in possible we need to know the exact frag queue
size for inet_frags->mem management and two callbacks:
* to destoy the skb (optional, used in conntracks only)
* to free the queue itself (mandatory, but later I plan to
move the allocation and the destruction of frag_queues
into the common place, so this callback will most likely
be optional too).
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:38:08 +0000 (02:38 -0700)]
[INET]: Consolidate xxx_the secret_rebuild
This code works with the generic data types as well, so
move this into inet_fragment.c
This move makes it possible to hide the secret_timer
management and the secret_rebuild routine completely in
the inet_fragment.c
Introduce the ->hashfn() callback in inet_frags() to get
the hashfun for a given inet_frag_queue() object.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:37:18 +0000 (02:37 -0700)]
[INET]: Consolidate the xxx_frag_kill
Since now all the xxx_frag_kill functions now work
with the generic inet_frag_queue data type, this can
be moved into a common place.
The xxx_unlink() code is moved as well.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Pavel Emelyanov [Mon, 15 Oct 2007 09:33:45 +0000 (02:33 -0700)]
[INET]: Collect common frag sysctl variables together
Some sysctl variables are used to tune the frag queues
management and it will be useful to work with them in
a common way in the future, so move them into one
structure, moreover they are the same for all the frag
management codes.
I don't place them in the existing inet_frags object,
introduced in the previous patch for two reasons:
1. to keep them in the __read_mostly section;
2. not to export the whole inet_frags objects outside.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>