<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/ide/ide-disk.c, branch v3.4.75</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/drivers/ide/ide-disk.c?h=v3.4.75</id>
<link rel='self' href='https://git.amat.us/linux/atom/drivers/ide/ide-disk.c?h=v3.4.75'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2011-10-03T18:28:18Z</updated>
<entry>
<title>ide-disk: Fix request requeuing</title>
<updated>2011-10-03T18:28:18Z</updated>
<author>
<name>Borislav Petkov</name>
<email>bp@alien8.de</email>
</author>
<published>2011-10-03T18:28:18Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=2c8fc867602e385fd2abe76da0b6bda8ed907547'/>
<id>urn:sha1:2c8fc867602e385fd2abe76da0b6bda8ed907547</id>
<content type='text'>
Simon Kirby reported that on his RAID setup with idedisk underneath
the box OOMs after a couple of days of runtime. Running with
CONFIG_DEBUG_KMEMLEAK pointed to idedisk_prep_fn() which unconditionally
allocates an ide_cmd struct. However, ide_requeue_and_plug() can be
called more than once per request, either from the request issue or the
IRQ handler path and do blk_peek_request() ends up in idedisk_prep_fn()
repeatedly, allocating a struct ide_cmd everytime and "forgetting" the
previous pointer.

Make sure the code reuses the old allocated chunk.

Reported-and-tested-by: Simon Kirby &lt;sim@hostway.ca&gt;
Cc: &lt;stable@kernel.org&gt; [ 39.x, 3.0.x ]
Link: http://marc.info/?l=linux-kernel&amp;m=131667641517919
Link: http://lkml.kernel.org/r/20110922072643.GA27232@hostway.ca
Signed-off-by: Borislav Petkov &lt;bp@alien8.de&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial</title>
<updated>2010-10-24T20:41:39Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2010-10-24T20:41:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=229aebb873e29726b91e076161649cf45154b0bf'/>
<id>urn:sha1:229aebb873e29726b91e076161649cf45154b0bf</id>
<content type='text'>
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
  Update broken web addresses in arch directory.
  Update broken web addresses in the kernel.
  Revert "drivers/usb: Remove unnecessary return's from void functions" for musb gadget
  Revert "Fix typo: configuation =&gt; configuration" partially
  ida: document IDA_BITMAP_LONGS calculation
  ext2: fix a typo on comment in ext2/inode.c
  drivers/scsi: Remove unnecessary casts of private_data
  drivers/s390: Remove unnecessary casts of private_data
  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data
  drivers/infiniband: Remove unnecessary casts of private_data
  drivers/gpu/drm: Remove unnecessary casts of private_data
  kernel/pm_qos_params.c: Remove unnecessary casts of private_data
  fs/ecryptfs: Remove unnecessary casts of private_data
  fs/seq_file.c: Remove unnecessary casts of private_data
  arm: uengine.c: remove C99 comments
  arm: scoop.c: remove C99 comments
  Fix typo configue =&gt; configure in comments
  Fix typo: configuation =&gt; configuration
  Fix typo interrest[ing|ed] =&gt; interest[ing|ed]
  Fix various typos of valid in comments
  ...

Fix up trivial conflicts in:
	drivers/char/ipmi/ipmi_si_intf.c
	drivers/usb/gadget/rndis.c
	net/irda/irnet/irnet_ppp.c
</content>
</entry>
<entry>
<title>block: deprecate barrier and replace blk_queue_ordered() with blk_queue_flush()</title>
<updated>2010-09-10T10:35:36Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-09-03T09:56:16Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4913efe456c987057e5d36a3f0a55422a9072cae'/>
<id>urn:sha1:4913efe456c987057e5d36a3f0a55422a9072cae</id>
<content type='text'>
Barrier is deemed too heavy and will soon be replaced by FLUSH/FUA
requests.  Deprecate barrier.  All REQ_HARDBARRIERs are failed with
-EOPNOTSUPP and blk_queue_ordered() is replaced with simpler
blk_queue_flush().

blk_queue_flush() takes combinations of REQ_FLUSH and FUA.  If a
device has write cache and can flush it, it should set REQ_FLUSH.  If
the device can handle FUA writes, it should also set REQ_FUA.

All blk_queue_ordered() users are converted.

* ORDERED_DRAIN is mapped to 0 which is the default value.
* ORDERED_DRAIN_FLUSH is mapped to REQ_FLUSH.
* ORDERED_DRAIN_FLUSH_FUA is mapped to REQ_FLUSH | REQ_FUA.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Acked-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Cc: Christoph Hellwig &lt;hch@infradead.org&gt;
Cc: Nick Piggin &lt;npiggin@kernel.dk&gt;
Cc: Michael S. Tsirkin &lt;mst@redhat.com&gt;
Cc: Jeremy Fitzhardinge &lt;jeremy@xensource.com&gt;
Cc: Chris Wright &lt;chrisw@sous-sol.org&gt;
Cc: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Cc: Geert Uytterhoeven &lt;Geert.Uytterhoeven@sonycom.com&gt;
Cc: David S. Miller &lt;davem@davemloft.net&gt;
Cc: Alasdair G Kergon &lt;agk@redhat.com&gt;
Cc: Pierre Ossman &lt;drzeus@drzeus.cx&gt;
Cc: Stefan Weinhuber &lt;wein@de.ibm.com&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>Use kzalloc in idedisk_prep_fn.</title>
<updated>2010-08-19T08:54:55Z</updated>
<author>
<name>Tao Ma</name>
<email>tao.ma@oracle.com</email>
</author>
<published>2010-08-19T04:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=08ff45ca60e4bc1cc27a71a9fe06886e870aa7d8'/>
<id>urn:sha1:08ff45ca60e4bc1cc27a71a9fe06886e870aa7d8</id>
<content type='text'>
Signed-off-by: Tao Ma &lt;tao.ma@oracle.com&gt;
Acked-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;
Signed-off-by: Jiri Kosina &lt;jkosina@suse.cz&gt;
</content>
</entry>
<entry>
<title>block: remove q-&gt;prepare_flush_fn completely</title>
<updated>2010-08-07T16:24:15Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2010-07-03T08:45:40Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=00fff26539bfe3fad21c164fc4002d9ede056fb0'/>
<id>urn:sha1:00fff26539bfe3fad21c164fc4002d9ede056fb0</id>
<content type='text'>
This removes q-&gt;prepare_flush_fn completely (changes the
blk_queue_ordered API).

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>ide: stop using q-&gt;prepare_flush_fn</title>
<updated>2010-08-07T16:24:15Z</updated>
<author>
<name>FUJITA Tomonori</name>
<email>fujita.tomonori@lab.ntt.co.jp</email>
</author>
<published>2010-07-03T08:45:39Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=afc23068103ccfbf1917eb2a007bc15ab5418cc9'/>
<id>urn:sha1:afc23068103ccfbf1917eb2a007bc15ab5418cc9</id>
<content type='text'>
use REQ_FLUSH flag instead.

Signed-off-by: FUJITA Tomonori &lt;fujita.tomonori@lab.ntt.co.jp&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>block: remove wrappers for request type/flags</title>
<updated>2010-08-07T16:17:56Z</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@lst.de</email>
</author>
<published>2010-08-07T16:17:56Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=33659ebbae262228eef4e0fe990f393d1f0ed941'/>
<id>urn:sha1:33659ebbae262228eef4e0fe990f393d1f0ed941</id>
<content type='text'>
Remove all the trivial wrappers for the cmd_type and cmd_flags fields in
struct requests.  This allows much easier grepping for different request
types instead of unwinding through macros.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Jens Axboe &lt;jaxboe@fusionio.com&gt;
</content>
</entry>
<entry>
<title>block,ide: simplify bdops-&gt;set_capacity() to -&gt;unlock_native_capacity()</title>
<updated>2010-05-21T18:01:02Z</updated>
<author>
<name>Tejun Heo</name>
<email>tj@kernel.org</email>
</author>
<published>2010-05-15T18:09:29Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c3e33e043f5e9c583aa59d5591a614b2a8243d3a'/>
<id>urn:sha1:c3e33e043f5e9c583aa59d5591a614b2a8243d3a</id>
<content type='text'>
bdops-&gt;set_capacity() is unnecessarily generic.  All that's required
is a simple one way notification to lower level driver telling it to
try to unlock native capacity.  There's no reason to pass in target
capacity or return the new capacity.  The former is always the
inherent native capacity and the latter can be handled via the usual
device resize / revalidation path.  In fact, the current API is always
used that way.

Replace -&gt;set_capacity() with -&gt;unlock_native_capacity() which take
only @disk and doesn't return anything.  IDE which is the only current
user of the API is converted accordingly.

Signed-off-by: Tejun Heo &lt;tj@kernel.org&gt;
Cc: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Cc: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
Acked-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>block: Rename blk_queue_max_sectors to blk_queue_max_hw_sectors</title>
<updated>2010-02-26T12:58:08Z</updated>
<author>
<name>Martin K. Petersen</name>
<email>martin.petersen@oracle.com</email>
</author>
<published>2010-02-26T05:20:38Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=086fa5ff0854c676ec333760f4c0154b3b242616'/>
<id>urn:sha1:086fa5ff0854c676ec333760f4c0154b3b242616</id>
<content type='text'>
The block layer calling convention is blk_queue_&lt;limit name&gt;.
blk_queue_max_sectors predates this practice, leading to some confusion.
Rename the function to appropriately reflect that its intended use is to
set max_hw_sectors.

Also introduce a temporary wrapper for backwards compability.  This can
be removed after the merge window is closed.

Signed-off-by: Martin K. Petersen &lt;martin.petersen@oracle.com&gt;
Signed-off-by: Jens Axboe &lt;jens.axboe@oracle.com&gt;
</content>
</entry>
<entry>
<title>ide: fix memory leak when flush command is issued</title>
<updated>2009-07-22T03:23:46Z</updated>
<author>
<name>Maxime Bizon</name>
<email>mbizon@freebox.fr</email>
</author>
<published>2009-07-16T06:32:52Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=bc146d23d1358af43f03793c3ad8c9f16bbcffcb'/>
<id>urn:sha1:bc146d23d1358af43f03793c3ad8c9f16bbcffcb</id>
<content type='text'>
I'm using ide on 2.6.30.1 with xfs filesystem. I noticed a kernel memory
leak after writing lots of data, the kmalloc-96 slab cache keeps
growing. It seems the struct ide_cmd kmalloced by idedisk_prepare_flush
is never kfreed.

Commit a09485df9cda49fbde2766c86eb18a9cae585162 ("ide: move request
type specific code from ide_end_drive_cmd() to callers (v3)") and
f505d49ffd25ed062e76ffd17568d3937fcd338c ("ide: fix barriers support")
cause this regression, cmd-&gt;rq must now be set for ide_complete_cmd to
honor the IDE_TFLAG_DYN flag.

Signed-off-by: Maxime Bizon &lt;mbizon@freebox.fr&gt;
Acked-by: Bartlomiej Zolnierkiewicz &lt;bzolnier@gmail.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
