10 Dec, 2009

1 commit

  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (137 commits)
    sh: include empty zero page in romImage
    sh: Make associative cache writes fatal on all SH-4A parts.
    sh: Drop associative writes for SH-4 cache flushes.
    sh: Partial revert of copy/clear_user_highpage() optimizations.
    sh: Add default uImage rule for se7724, ap325rxa, and migor.
    sh: allow runtime pm without suspend/resume callbacks
    sh: mach-ecovec24: Remove un-defined settings for VPU
    sh: mach-ecovec24: LCDC drive ability become high
    sh: fix sh7724 VEU3F resource size
    serial: sh-sci: Fix too early port disabling.
    sh: pfc: pr_info() -> pr_debug() cleanups.
    sh: pfc: Convert from ctrl_xxx() to __raw_xxx() I/O routines.
    sh: Improve kfr2r09 serial port setup code
    sh: Break out SuperH PFC code
    sh: Move KEYSC header file
    sh: convert /proc/cpu/aligmnent, /proc/cpu/kernel_alignment to seq_file
    sh: Add CPG save/restore code for sh7724 R-standby
    sh: Add SDHI power control support to Ecovec
    mfd: Add power control platform data to SDHI driver
    sh: mach-ecovec24: modify address map
    ...

    Linus Torvalds
     

19 Nov, 2009

1 commit


12 Nov, 2009

1 commit

  • Now that sys_sysctl is a wrapper around /proc/sys all of
    the binary sysctl support elsewhere in the tree is
    dead code.

    Cc: Jens Axboe
    Cc: Corey Minyard
    Cc: Greg Kroah-Hartman
    Cc: Matt Mackall
    Cc: Herbert Xu
    Cc: Neil Brown
    Cc: "James E.J. Bottomley"
    Acked-by: Clemens Ladisch for drivers/char/hpet.c
    Signed-off-by: Eric W. Biederman

    Eric W. Biederman
     

13 Oct, 2009

1 commit

  • PHYSADDR() is gone, and completely unecessary in all of the cases the
    gdrom driver was using it. Kill off all references to it, and change the
    one legitimate use over to virt_to_phys() instead.

    Signed-off-by: Paul Mundt

    Paul Mundt
     

24 Sep, 2009

1 commit

  • It's unused.

    It isn't needed -- read or write flag is already passed and sysctl
    shouldn't care about the rest.

    It _was_ used in two places at arch/frv for some reason.

    Signed-off-by: Alexey Dobriyan
    Cc: David Howells
    Cc: "Eric W. Biederman"
    Cc: Al Viro
    Cc: Ralf Baechle
    Cc: Martin Schwidefsky
    Cc: Ingo Molnar
    Cc: "David S. Miller"
    Cc: James Morris
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

22 Sep, 2009

1 commit


23 May, 2009

3 commits


20 May, 2009

1 commit


11 May, 2009

4 commits

  • Till now block layer allowed two separate modes of request execution.
    A request is always acquired from the request queue via
    elv_next_request(). After that, drivers are free to either dequeue it
    or process it without dequeueing. Dequeue allows elv_next_request()
    to return the next request so that multiple requests can be in flight.

    Executing requests without dequeueing has its merits mostly in
    allowing drivers for simpler devices which can't do sg to deal with
    segments only without considering request boundary. However, the
    benefit this brings is dubious and declining while the cost of the API
    ambiguity is increasing. Segment based drivers are usually for very
    old or limited devices and as converting to dequeueing model isn't
    difficult, it doesn't justify the API overhead it puts on block layer
    and its more modern users.

    Previous patches converted all block low level drivers to dequeueing
    model. This patch completes the API transition by...

    * renaming elv_next_request() to blk_peek_request()

    * renaming blkdev_dequeue_request() to blk_start_request()

    * adding blk_fetch_request() which is combination of peek and start

    * disallowing completion of queued (not started) requests

    * applying new API to all LLDs

    Renamings are for consistency and to break out of tree code so that
    it's apparent that out of tree drivers need updating.

    [ Impact: block request issue API cleanup, no functional change ]

    Signed-off-by: Tejun Heo
    Cc: Rusty Russell
    Cc: James Bottomley
    Cc: Mike Miller
    Cc: unsik Kim
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Geert Uytterhoeven
    Cc: David S. Miller
    Cc: Laurent Vivier
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Grant Likely
    Cc: Adrian McMenamin
    Cc: Stephen Rothwell
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Alex Dubov
    Cc: Pierre Ossman
    Cc: David Woodhouse
    Cc: Markus Lidel
    Cc: Stefan Weinhuber
    Cc: Martin Schwidefsky
    Cc: Pete Zaitcev
    Cc: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • gdrom already dequeues and fully completes requests on normal path and
    the error paths can be easily converted to do so too. Clean it up and
    dequeue requests on error paths too.

    While at it remove superflous blk_fs_request() && !blk_rq_sectors()
    condition check.

    [ Impact: dequeue in-flight request, cleanup ]

    Signed-off-by: Tejun Heo
    Cc: Adrian McMenamin
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • plat-omap/mailbox, floppy, viocd, mspro_block, i2o_block and
    mmc/card/queue are already pretty close to dequeueing model and can be
    converted with simple changes. Convert them.

    While at it,

    * xen-blkfront: !fs check moved downwards to share dequeue call with
    normal path.

    * mspro_block: __blk_end_request(..., blk_rq_cur_byte()) converted to
    __blk_end_request_cur()

    * mmc/card/queue: loop of __blk_end_request() converted to
    __blk_end_request_all()

    [ Impact: dequeue in-flight request ]

    Signed-off-by: Tejun Heo
    Cc: Rusty Russell
    Cc: Jeremy Fitzhardinge
    Cc: Stephen Rothwell
    Cc: Alex Dubov
    Cc: Markus Lidel
    Cc: Pierre Ossman
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • With recent cleanups, there is no place where low level driver
    directly manipulates request fields. This means that the 'hard'
    request fields always equal the !hard fields. Convert all
    rq->sectors, nr_sectors and current_nr_sectors references to
    accessors.

    While at it, drop superflous blk_rq_pos() < 0 test in swim.c.

    [ Impact: use pos and nr_sectors accessors ]

    Signed-off-by: Tejun Heo
    Acked-by: Geert Uytterhoeven
    Tested-by: Grant Likely
    Acked-by: Grant Likely
    Tested-by: Adrian McMenamin
    Acked-by: Adrian McMenamin
    Acked-by: Mike Miller
    Cc: James Bottomley
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Borislav Petkov
    Cc: Sergei Shtylyov
    Cc: Eric Moore
    Cc: Alan Stern
    Cc: FUJITA Tomonori
    Cc: Pete Zaitcev
    Cc: Stephen Rothwell
    Cc: Paul Clements
    Cc: Tim Waugh
    Cc: Jeff Garzik
    Cc: Jeremy Fitzhardinge
    Cc: Alex Dubov
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: Dario Ballabio
    Cc: David S. Miller
    Cc: Rusty Russell
    Cc: unsik Kim
    Cc: Laurent Vivier
    Signed-off-by: Jens Axboe

    Tejun Heo
     

28 Apr, 2009

2 commits

  • end_request() has been kept around for backward compatibility;
    however, it's about time for it to go away.

    * There aren't too many users left.

    * Its use of @updtodate is pretty confusing.

    * In some cases, newer code ends up using mixture of end_request() and
    [__]blk_end_request[_all](), which is way too confusing.

    So, add [__]blk_end_request_cur() and replace end_request() with it.
    Most conversions are straightforward. Noteworthy ones are...

    * paride/pcd: next_request() updated to take 0/-errno instead of 1/0.

    * paride/pf: pf_end_request() and next_request() updated to take
    0/-errno instead of 1/0.

    * xd: xd_readwrite() updated to return 0/-errno instead of 1/0.

    * mtd/mtd_blkdevs: blktrans_discard_request() updated to return
    0/-errno instead of 1/0. Unnecessary local variable res
    initialization removed from mtd_blktrans_thread().

    [ Impact: cleanup ]

    Signed-off-by: Tejun Heo
    Acked-by: Joerg Dorchain
    Acked-by: Geert Uytterhoeven
    Acked-by: Grant Likely
    Acked-by: Laurent Vivier
    Cc: Tim Waugh
    Cc: Stephen Rothwell
    Cc: Paul Mackerras
    Cc: Jeremy Fitzhardinge
    Cc: Markus Lidel
    Cc: David Woodhouse
    Cc: Pete Zaitcev
    Cc: unsik Kim

    Tejun Heo
     
  • There are many [__]blk_end_request() call sites which call it with
    full request length and expect full completion. Many of them ensure
    that the request actually completes by doing BUG_ON() the return
    value, which is awkward and error-prone.

    This patch adds [__]blk_end_request_all() which takes @rq and @error
    and fully completes the request. BUG_ON() is added to to ensure that
    this actually happens.

    Most conversions are simple but there are a few noteworthy ones.

    * cdrom/viocd: viocd_end_request() replaced with direct calls to
    __blk_end_request_all().

    * s390/block/dasd: dasd_end_request() replaced with direct calls to
    __blk_end_request_all().

    * s390/char/tape_block: tapeblock_end_request() replaced with direct
    calls to blk_end_request_all().

    [ Impact: cleanup ]

    Signed-off-by: Tejun Heo
    Cc: Russell King
    Cc: Stephen Rothwell
    Cc: Mike Miller
    Cc: Martin Schwidefsky
    Cc: Jeff Garzik
    Cc: Rusty Russell
    Cc: Jeremy Fitzhardinge
    Cc: Alex Dubov
    Cc: James Bottomley

    Tejun Heo
     

29 Dec, 2008

2 commits

  • 1. kmalloc 192 bytes in dvd_read_bca (which is inlined into dvd_read_struct)
    2. Pass struct packet_command to all dvd_read_* functions.

    Checkstack output:
    Before: mmc_ioctl_dvd_read_struct: 280
    After: mmc_ioctl_dvd_read_struct: 56

    Signed-off-by: Marcin Slusarz
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Andrew Morton
    Cc: Jens Axboe
    Signed-off-by: Jens Axboe

    Marcin Slusarz
     
  • Checkstack output:

    Before:
    mmc_ioctl: 584

    After:
    mmc_ioctl_dvd_read_struct: 280
    mmc_ioctl_cdrom_subchannel: 152
    mmc_ioctl_cdrom_read_data: 120
    mmc_ioctl_cdrom_volume: 104
    mmc_ioctl_cdrom_read_audio: 104
    (mmc_ioctl is inlined into cdrom_ioctl - 104 bytes)

    Signed-off-by: Marcin Slusarz
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Andrew Morton
    Cc: Jens Axboe
    Signed-off-by: Jens Axboe

    Marcin Slusarz
     

12 Dec, 2008

1 commit

  • The test-unit-ready portion of this patch was causing boots to fail on
    my test machine (as in http://lkml.org/lkml/2008/12/5/161). With this
    patch in place, the system is booting reliably.

    Mike Anderson found the same problem in the hp_hw_start_stop code,
    and I applied the same solution in cdrom_read_cdda_bpc.

    Signed-off-by: Alan D. Brunelle
    Cc: Mike Anderson
    Signed-off-by: Jens Axboe

    Alan D. Brunelle
     

28 Oct, 2008

1 commit


21 Oct, 2008

6 commits


09 Oct, 2008

3 commits

  • This patch converts gdrom to use __blk_end_request() directly
    so that end_{queued|dequeued}_request() can be removed.

    gd.transfer is '1' in error cases and '0' in non-error cases,
    so gdrom hasn't been propagating any error code to the block layer.
    We can just convert error cases to '-EIO'.

    Signed-off-by: Kiyoshi Ueda
    Signed-off-by: Jun'ichi Nomura
    Cc: Adrian McMenamin
    Signed-off-by: Jens Axboe

    Kiyoshi Ueda
     
  • This patch introduces struct rq_map_data to enable bio_copy_use_iov()
    use reserved pages.

    Currently, bio_copy_user_iov allocates bounce pages but
    drivers/scsi/sg.c wants to allocate pages by itself and use
    them. struct rq_map_data can be used to pass allocated pages to
    bio_copy_user_iov.

    The current users of bio_copy_user_iov simply passes NULL (they don't
    want to use pre-allocated pages).

    Signed-off-by: FUJITA Tomonori
    Cc: Jens Axboe
    Cc: Douglas Gilbert
    Cc: Mike Christie
    Cc: James Bottomley
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • Currently, blk_rq_map_user and blk_rq_map_user_iov always do
    GFP_KERNEL allocation.

    This adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov
    so sg can use it (sg always does GFP_ATOMIC allocation).

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Douglas Gilbert
    Cc: Mike Christie
    Cc: James Bottomley
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     

19 Aug, 2008

3 commits

  • This patch should fix TOC handling for cdroms that can not play audio. It
    extends commit af744e3294d09d706c4eae26cffaaa68a8d40337 ("cdrom: don't
    check CDC_PLAY_AUDIO in cdrom_count_tracks()") with a safety check and
    non-audio ioctls support.

    Since CDC_PLAY_AUDIO flag was used not only to check ability to play audio
    but also to ensure that audio_ioctl was not NULL, all TOC-related
    operations had to use it.

    As far as I understand, now audio_ioctl is never NULL, so a sanity check
    during device registration should be sufficient.

    It was tested on Optiarc AD7203A device, that has no ability to play
    audio.

    Cc: Tejun Heo
    Cc: Jens Axboe
    Cc: Borislav Petkov
    Signed-off-by: Andrew Morton
    [bart: remove now unneeded ->audio_ioctl check (noticed by Borislav)]
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Alexander Inyukhin
     
  • Make sure audio_ioctl is always defined even if being a dummy function
    since the cdrom_ioctl interface assumes its existence and we don't
    want to BUG on null ptr on some ioctls like, e.g. CDROMREADTOCENTRY,
    CDROMREADTOCHDR etc. when we fix CDC_PLAY_AUDIO checking in cdrom.c.

    Signed-off-by: Borislav Petkov
    Acked-by: Adrian McMenamin
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     
  • Make sure audio_ioctl is always defined even if being a dummy function
    since the cdrom_ioctl interface assumes its existence and we don't
    want to BUG on null ptr on some ioctls like, e.g. CDROMREADTOCENTRY,
    CDROMREADTOCHDR etc. when we fix CDC_PLAY_AUDIO checking in cdrom.c.

    Signed-off-by: Borislav Petkov
    Acked-by: Stephen Rothwell
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Borislav Petkov
     

06 Aug, 2008

1 commit

  • According to MMC-3 (or any later versions) READ TOCs are mandatory
    commands and have nothing to do with CDC_PLAY_AUDIO. I have no idea why
    the check was put there in the first place but it now only breaks
    automatic actions on certain drives.

    Note that this test was only effective when ide-cdrom was being used
    as sr didn't mask CDC_PLAY_AUDIO according to the capabilities.

    Signed-off-by: Tejun Heo
    Acked-by: Jens Axboe
    Cc: Borislav Petkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Bartlomiej Zolnierkiewicz

    Tejun Heo
     

29 Jul, 2008

1 commit


04 Jul, 2008

1 commit

  • The commit 22a9189fd073db3d03a4cf8b8c098aa207602de1 (cdrom: use
    kmalloced buffers instead of buffers on stack) is introduced to use
    kmalloced buffers for packet commands to avoid stack corruption on non
    coherent platforms.

    SCSI cdrom uses blk_rq_map_kern, which properly avoids DMA on the
    stack by using the bounce buffers. IDE cdrom also has the mechnism to
    avoids DMA on the stack. So we don't need this extra complexitiy in
    cdrom.c, such as allocating just 8 bytes. The lower layers can handle
    it.

    Signed-off-by: FUJITA Tomonori
    Cc: Thomas Bogendoerfer
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Thomas Bogendoerfer
    Cc: Tejun Heo
    Cc: James Bottomley
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     

23 May, 2008

1 commit


29 Apr, 2008

3 commits

  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    block: Skip I/O merges when disabled
    block: add large command support
    block: replace sizeof(rq->cmd) with BLK_MAX_CDB
    ide: use blk_rq_init() to initialize the request
    block: use blk_rq_init() to initialize the request
    block: rename and export rq_init()
    block: no need to initialize rq->cmd with blk_get_request
    block: no need to initialize rq->cmd in prepare_flush_fn hook
    block/blk-barrier.c:blk_ordered_cur_seq() mustn't be inline
    block/elevator.c:elv_rq_merge_ok() mustn't be inline
    block: make queue flags non-atomic
    block: add dma alignment and padding support to blk_rq_map_kern
    unexport blk_max_pfn
    ps3disk: Remove superfluous cast
    block: make rq_init() do a full memset()
    relay: fix splice problem

    Linus Torvalds
     
  • Use proc_create()/proc_create_data() to make sure that ->proc_fops and ->data
    be setup before gluing PDE to main tree.

    Signed-off-by: Denis V. Lunev
    Cc: Greg Kroah-Hartman
    Cc: Alexey Dobriyan
    Cc: "Eric W. Biederman"
    Cc: Peter Osterlund
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Dmitry Torokhov
    Cc: Neil Brown
    Cc: Mauro Carvalho Chehab
    Cc: Bjorn Helgaas
    Cc: Alessandro Zummo
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis V. Lunev
     
  • blk_get_request initializes rq->cmd (rq_init does) so the users don't
    need to do that.

    The purpose of this patch is to remove sizeof(rq->cmd) and &rq->cmd,
    as a preparation for large command support, which changes rq->cmd from
    the static array to a pointer. sizeof(rq->cmd) will not make sense and
    &rq->cmd won't work.

    Signed-off-by: FUJITA Tomonori
    Cc: James Bottomley
    Cc: Alasdair G Kergon
    Cc: Jens Axboe
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     

21 Apr, 2008

1 commit

  • If cdrom commands are issued to a scsi drive in most cases the buffer will be
    filled via dma. This leads to bad stack corruption on non coherent platforms,
    because the buffers are neither cache line aligned nor is the size a multiple
    of the cache line size. Using kmalloced buffers avoids this.

    Signed-off-by: Thomas Bogendoerfer
    Signed-off-by: Jens Axboe

    Thomas Bogendoerfer