11 Sep, 2009

1 commit

  • This patch fixes message naming so that generic dasd messages do not
    contain the device discipline. For this purpose the dev_ makros are
    replaced by pr_ makros for generic dasd messages.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky

    Stefan Haberland
     

13 Jul, 2009

1 commit

  • * Remove smp_lock.h from files which don't need it (including some headers!)
    * Add smp_lock.h to files which do need it
    * Make smp_lock.h include conditional in hardirq.h
    It's needed only for one kernel_locked() usage which is under CONFIG_PREEMPT

    This will make hardirq.h inclusion cheaper for every PREEMPT=n config
    (which includes allmodconfig/allyesconfig, BTW)

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

26 Mar, 2009

3 commits

  • Moved some Messages into s390 debug feature and changed remaining
    messages to use the dev_xxx and pr_xxx macros.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Martin Schwidefsky

    Stefan Haberland
     
  • The dasd device driver will now support ECKD devices with more then
    65520 cylinders.
    In the traditional ECKD adressing scheme each track is addressed
    by a 16-bit cylinder and 16-bit head number. The new addressing
    scheme makes use of the fact that the actual number of heads is
    never larger then 15, so 12 bits of the head number can be redefined
    to be part of the cylinder address.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     
  • All of the ioctls are compatible. Just enable them.

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

21 Oct, 2008

1 commit


26 Jan, 2008

1 commit

  • Parallel access volumes (PAV) is a storage server feature, that allows
    to start multiple channel programs on the same DASD in parallel. It
    defines alias devices which can be used as alternative paths to the
    same disk. With the old base PAV support we only needed rudimentary
    functionality in the DASD device driver. As the mapping between base
    and alias devices was static, we just had to export an identifier
    (uid) and could leave the combining of devices to external layers
    like a device mapper multipath.
    Now hyper PAV removes the requirement to dedicate alias devices to
    specific base devices. Instead each alias devices can be combined with
    multiple base device on a per request basis. This requires full
    support by the DASD device driver as now each channel program itself
    has to identify the target base device.
    The changes to the dasd device driver and the ECKD discipline are:
    - Separate subchannel device representation (dasd_device) from block
    device representation (dasd_block). Only base devices are block
    devices.
    - Gather information about base and alias devices and possible
    combinations.
    - For each request decide which dasd_device should be used (base or
    alias) and build specific channel program.
    - Support summary unit checks, which allow the storage server to
    upgrade / downgrade between base and hyper PAV at runtime (support
    is mandatory).

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     

10 May, 2007

1 commit

  • The function shouldn't have existed in the first place (not MSS-aware).
    Introduce a new function ccw_device_get_id() that extracts the
    ccw_dev_id structure of a ccw device and convert all users of
    _ccw_device_get_device_number to ccw_device_get_id.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky

    Cornelia Huck
     

09 Dec, 2006

1 commit


12 Jul, 2006

1 commit


01 Jul, 2006

1 commit


29 Jun, 2006

1 commit


24 Mar, 2006

6 commits

  • Cast the argument correctly.

    Cc: Christoph Hellwig
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bastian Blank
     
  • Use kzalloc to get a zeroed buffer for the structure returned to user space by
    the BIODASDINFO2 ioctl. Not all fields are set up, e.g. the read_devno is
    missing.

    Signed-off-by: Horst Hummel
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horst Hummel
     
  • Now that there are no more users of the awkward dynamic ioctl hack we can
    remove the code to support it.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • dasd_cmd just implements three ioctls which are wrappers around functionality
    in the core kernel or other modules. When merging those into dasd_mod they
    just add 22 lines of code which is far less than the amount of code removed in
    the last two patches, and which doesn't spill into another 4k pages when build
    modular, while removing a 128lines module.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Add an ->ioctl method to the dasd_discipline structure. This allows to apply
    the same kind of cleanups the last patch applied to dasd_ioctl.c to
    dasd_eckd.c (the only dasd discipline with special ioctls) aswell.

    Again lots of code removed. During auditing the ioctls I found two fishy
    return value propagations from copy_{from,to}_user, maintainers please check
    those, I've marked them with XXX comments.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     
  • Handle ioctls implemented in dasd_ioctl through the normal switch statement
    that most drivers use instead of the awkward dasd_ioctl_no_register routine.
    This avoids searching a linear list on every call to dasd_ioctl(), and allows
    to give the various ioctl implementation functions sane prototypes, aswell as
    moving the check for bdev->bd_disk->private_data from the individual functions
    to dasd_ioctl. (I think it can't actually every be NULL, but let's keep that
    for later)

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

23 Mar, 2006

1 commit

  • Semaphore to mutex conversion.

    The conversion was generated via scripts, and the result was validated
    automatically via a script as well.

    Signed-off-by: Arjan van de Ven
    Signed-off-by: Ingo Molnar
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Arjan van de Ven
     

02 Feb, 2006

2 commits

  • The open_count is increased for every opener, that includes the blkdev_get in
    dasd_scan_partitions. This tampers the open_count in BIODASDINFO. Hide the
    internal open from user-space.

    Signed-off-by: Horst Hummel
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horst Hummel
     
  • - Remove all CVS generated information like e.g. revision IDs from
    drivers/s390 and include/asm-s390 (none present in arch/s390).

    - Add newline at end of arch/s390/lib/Makefile to avoid diff message.

    Acked-by: Andreas Herrmann
    Acked-by: Frank Pavlic
    Signed-off-by: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Heiko Carstens
     

11 Jan, 2006

1 commit

  • Add a compat_ioctl method to the dasd driver so the last entries in
    arch/s390/kernel/compat_ioctl.c can go away. Unlike the previous attempt this
    one does not replace the ioctl method with an unlocked_ioctl method so that
    the ioctl_by_bdev calls in s390 partition code continue to work.

    Signed-off-by: Christoph Hellwig
    Cc: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

09 Jan, 2006

1 commit

  • HDIO_GETGEO is implemented in most block drivers, and all of them have to
    duplicate the code to copy the structure to userspace, as well as getting
    the start sector. This patch moves that to common code [1] and adds a
    ->getgeo method to fill out the raw kernel hd_geometry structure. For many
    drivers this means ->ioctl can go away now.

    [1] the s390 block drivers are odd in this respect. xpram sets ->start
    to 4 always which seems more than odd, and the dasd driver shifts
    the start offset around, probably because of it's non-standard
    sector size.

    Signed-off-by: Christoph Hellwig
    Cc: Jens Axboe
    Cc:
    Cc: Jeff Dike
    Cc: Paolo Giarrusso
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Neil Brown
    Cc: Markus Lidel
    Cc: Russell King
    Cc: David Woodhouse
    Cc: Martin Schwidefsky
    Cc: James Bottomley
    Signed-off-by: Adrian Bunk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christoph Hellwig
     

07 Jan, 2006

1 commit

  • The IOCTL BIODASDPRRD had no return code for 'profiling is inactive' and
    therefore tunedasd wrote misleading message for request-counter = 0.
    Introduce return-code EIO for inactive profiling.

    Signed-off-by: Horst Hummel
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horst Hummel
     

05 Sep, 2005

1 commit

  • Reintroduce a read-only copy of the devmap features in the device struct.
    This is necessary to solve a deadlock on the dasd_devmap_lock which is
    acquired by dasd_get_features called from the dasd tasklet. The current
    implementation of devmap doesn't allow to call any devmap function from
    interrupt or softirq context.

    Signed-off-by: Horst Hummel
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horst Hummel
     

01 May, 2005

1 commit

  • The independent read-only flags in devmap, dasd_device and gendisk are not
    kept in sync. Use one bit per feature in the dasd driver and keep that bit in
    sync with the gendisk bit.

    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Horst Hummel
     

17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds