04 Jan, 2012

1 commit


01 Aug, 2011

1 commit

  • This moves the FC classes bsg code to the block layer and
    makes it a lib so that other classes like iscsi and SAS can use it.

    It is helpful because working with the request queue, bios,
    creating scatterlists, etc are a pain that the LLD does not
    have to worry about with normal IOs and should not have to
    worry about for bsg requests.

    Signed-off-by: Mike Christie
    Signed-off-by: Jens Axboe

    Mike Christie
     

21 Jan, 2011

1 commit

  • The meaning of CONFIG_EMBEDDED has long since been obsoleted; the option
    is used to configure any non-standard kernel with a much larger scope than
    only small devices.

    This patch renames the option to CONFIG_EXPERT in init/Kconfig and fixes
    references to the option throughout the kernel. A new CONFIG_EMBEDDED
    option is added that automatically selects CONFIG_EXPERT when enabled and
    can be used in the future to isolate options that should only be
    considered for embedded systems (RISC architectures, SLOB, etc).

    Calling the option "EXPERT" more accurately represents its intention: only
    expert users who understand the impact of the configuration changes they
    are making should enable it.

    Reviewed-by: Ingo Molnar
    Acked-by: David Woodhouse
    Signed-off-by: David Rientjes
    Cc: Greg KH
    Cc: "David S. Miller"
    Cc: Jens Axboe
    Cc: Arnd Bergmann
    Cc: Robin Holt
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     

16 Sep, 2010

1 commit


27 Apr, 2010

1 commit

  • This patch fixes few usability and configurability issues.

    o All the cgroup based controller options are configurable from
    "Genral Setup/Control Group Support/" menu. blkio is the only exception.
    Hence make this option visible in above menu and make it configurable from
    there to bring it inline with rest of the cgroup based controllers.

    o Get rid of CONFIG_DEBUG_CFQ_IOSCHED.

    This option currently does two things.

    - Enable printing of cgroup paths in blktrace
    - Enables CONFIG_DEBUG_BLK_CGROUP, which in turn displays additional stat
    files in cgroup.

    If we are using group scheduling, blktrace data is of not really much use
    if cgroup information is not present. To get this data, currently one has to
    also enable CONFIG_DEBUG_CFQ_IOSCHED, which in turn brings the overhead of
    all the additional debug stat files which is not desired.

    Hence, this patch moves printing of cgroup paths under
    CONFIG_CFQ_GROUP_IOSCHED.

    This allows us to get rid of CONFIG_DEBUG_CFQ_IOSCHED completely. Now all
    the debug stat files are controlled only by CONFIG_DEBUG_BLK_CGROUP which
    can be enabled through config menu.

    Signed-off-by: Vivek Goyal
    Acked-by: Divyesh Shah
    Reviewed-by: Gui Jianfeng
    Signed-off-by: Jens Axboe

    Vivek Goyal
     

16 Mar, 2010

1 commit


04 Dec, 2009

2 commits


05 Aug, 2009

1 commit


19 Jun, 2009

1 commit

  • Follow-up to "block: enable by default support for large devices
    and files on 32-bit archs".

    Rename CONFIG_LBD to CONFIG_LBDAF to:
    - allow update of existing [def]configs for "default y" change
    - reflect that it is used also for large files support nowadays

    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jens Axboe

    Bartlomiej Zolnierkiewicz
     

28 Apr, 2009

1 commit

  • Enable by default support for large devices and files (CONFIG_LBD):

    - With 1TB disks being a commodity hardware it is quite easy to hit 2TB
    limitation while building RAIDs etc. and many distros have been using
    CONFIG_LBD=y by default already (at least Fedora 10 and openSUSE 11.1).

    - This should also prevent a subtle ext4 filesystem compatibility issue:
    mke2fs.ext4 defaults to creating filesystems with huge_files feature
    enabled and such filesystems cannot be later mounted read-write on
    machines with CONFIG_LBD=n (it should be quite easy to hit this issue
    when trying to use filesystem created using distro kernel on system
    running the self-build kernel, think about USB disk enclosures & co.).

    While at it:

    - Clarify config option help text w.r.t. mounting ext4 filesystems
    (they can be mounted with CONFIG_LBD=n but in the read-only mode).

    Cc: "Theodore Ts'o"
    Signed-off-by: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jens Axboe

    Bartlomiej Zolnierkiewicz
     

09 Feb, 2009

1 commit


27 Jan, 2009

1 commit


07 Jan, 2009

1 commit


29 Dec, 2008

1 commit

  • We have two seperate config entries for large devices/files. One
    is CONFIG_LBD that guards just the devices, the other is CONFIG_LSF
    that handles large files. This doesn't make a lot of sense, you typically
    want both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording
    to indicate that it covers both.

    Acked-by: Jean Delvare
    Signed-off-by: Jens Axboe

    Jens Axboe
     

26 Nov, 2008

1 commit

  • This was a forward port of work done by Mathieu Desnoyers, I changed it to
    encode the 'what' parameter on the tracepoint name, so that one can register
    interest in specific events and not on classes of events to then check the
    'what' parameter.

    Signed-off-by: Arnaldo Carvalho de Melo
    Signed-off-by: Jens Axboe
    Signed-off-by: Ingo Molnar

    Arnaldo Carvalho de Melo
     

03 Jul, 2008

1 commit

  • Some block devices support verifying the integrity of requests by way
    of checksums or other protection information that is submitted along
    with the I/O.

    This patch implements support for generating and verifying integrity
    metadata, as well as correctly merging, splitting and cloning bios and
    requests that have this extra information attached.

    See Documentation/block/data-integrity.txt for more information.

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Jens Axboe

    Martin K. Petersen
     

21 Apr, 2008

1 commit

  • Modify the help descriptions of block/Kconfig for clarity, accuracy and
    consistency.

    Refactor the BLOCK description a bit. The wording "This permits ... to be
    removed" isn't quite right; the block layer is removed when the option is
    disabled, whereas most descriptions talk about what happens when the option is
    enabled. Reformat the list of what is affected by disabling the block layer.

    Add more examples of large block devices to LBD and strive for technical
    accuracy; block devices of size _exactly_ 2TB require CONFIG_LBD, not only
    "bigger than 2TB". Also try to say (perhaps not very clearly) that the config
    option is only needed when you want to have individual block devices of size
    >= 2TB, for example if you had 3 x 1TB disks in your computer you'd have a
    total storage size of 3TB but you wouldn't need the option unless you want to
    aggregate those disks into a RAID or LVM.

    Improve terminology and grammar on BLK_DEV_IO_TRACE.

    I also added the boilerplate "If unsure, say N" to most options.

    Precisely say "2TB and larger" for LSF.

    Indent the help text for BLK_DEV_BSG by 2 spaces in accordance with the
    standard.

    Signed-off-by: Nick Andrew
    Cc: "Randy.Dunlap"
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Nick Andrew
     

15 Apr, 2008

1 commit


13 Oct, 2007

1 commit


12 Oct, 2007

1 commit


27 Jul, 2007

1 commit

  • BLK_DEV_BSG was added outside of the if BLOCK check, which allows it to
    be enabled when CONFIG_BLOCK=n. This leads to many screenlengths of
    errors, starting with a parse error on the request_queue_t definition.
    Obviously this wasn't intended for CONFIG_BLOCK=n usage, so just move the
    option back in to the block.

    Caught with a randconfig on sh.

    Signed-off-by: Paul Mundt

    --

    block/Kconfig | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)
    Signed-off-by: Jens Axboe

    Paul Mundt
     

20 Jul, 2007

1 commit

  • This patch moves the bsg registration into SCSI so that bsg no longer
    has a dependency on the scsi_interface_register API.

    This can be viewed as a temporary expedient until we can get universal
    bsg binding sorted out properly. Also use the sdev bus_id as the
    generic bsg name (to avoid clashes with the queue name).

    Acked-by: FUJITA Tomonori
    Acked-by: Jens Axboe
    Signed-off-by: James Bottomley

    James Bottomley
     

17 Jul, 2007

2 commits

  • - add the detailed explanation.
    - remove 'default y'.
    - make 'EXPERIMENTAL' keyword visible to the user in menu.

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     
  • The SCSI code can be compiled modular, but BLK_DEV_BSG currently cannot,
    and depends on the SCSI layer. So make sure that it depends on the SCSI
    layer being compiled in, not just available as a module.

    Noticed by Jeff Garzik and S.Çağlar Onur.

    Cc: Jeff Garzik
    Cc: Jens Axboe
    Cc: S.Çağlar Onur
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

16 Jul, 2007

2 commits


10 Jul, 2007

1 commit


05 Dec, 2006

1 commit

  • CONFIG_LBD and CONFIG_LSF are spread into asm/types.h for no particularly
    good reason.

    Centralising the definition in linux/types.h means that arch maintainers
    don't need to bother adding it, as well as fixing the problem with
    x86-64 users being asked to make a decision that has absolutely no
    effect.

    The H8/300 porters seem particularly confused since I'm not aware of any
    microcontrollers that need to support 2TB filesystems.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: Linus Torvalds

    Matthew Wilcox
     

01 Oct, 2006

2 commits

  • It's too easy for people to shoot themselves in the foot, and it
    only makes sense for embedded folks anyway.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Make it possible to disable the block layer. Not all embedded devices require
    it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
    the block layer to be present.

    This patch does the following:

    (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
    support.

    (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
    an item that uses the block layer. This includes:

    (*) Block I/O tracing.

    (*) Disk partition code.

    (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.

    (*) The SCSI layer. As far as I can tell, even SCSI chardevs use the
    block layer to do scheduling. Some drivers that use SCSI facilities -
    such as USB storage - end up disabled indirectly from this.

    (*) Various block-based device drivers, such as IDE and the old CDROM
    drivers.

    (*) MTD blockdev handling and FTL.

    (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
    taking a leaf out of JFFS2's book.

    (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
    linux/elevator.h contingent on CONFIG_BLOCK being set. sector_div() is,
    however, still used in places, and so is still available.

    (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
    parts of linux/fs.h.

    (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.

    (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.

    (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
    is not enabled.

    (*) fs/no-block.c is created to hold out-of-line stubs and things that are
    required when CONFIG_BLOCK is not set:

    (*) Default blockdev file operations (to give error ENODEV on opening).

    (*) Makes some /proc changes:

    (*) /proc/devices does not list any blockdevs.

    (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.

    (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.

    (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
    given command other than Q_SYNC or if a special device is specified.

    (*) In init/do_mounts.c, no reference is made to the blockdev routines if
    CONFIG_BLOCK is not defined. This does not prohibit NFS roots or JFFS2.

    (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
    error ENOSYS by way of cond_syscall if so).

    (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
    CONFIG_BLOCK is not set, since they can't then happen.

    Signed-Off-By: David Howells
    Signed-off-by: Jens Axboe

    David Howells
     

01 Apr, 2006

1 commit

  • The help text says that if you select CONFIG_LBD, then it will automatically
    select CONFIG_LFS. That isn't currently the case, so update the text.

    - Get rid of the cruft in the help text mentioning CONFIG_LBD

    - Tell unsure users to select CONFIG_LFS.

    - Remove the `default n'.

    Signed-off-by: Trond Myklebust
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Trond Myklebust
     

27 Mar, 2006

2 commits

  • debugfs depends on sysfs, so make blktrace kconfig option depend
    on that.

    Reported by Adrian Bunk.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Add blkcnt_t as the type of inode.i_blocks. This enables you to make the size
    of blkcnt_t either 4 bytes or 8 bytes on 32 bits architecture with CONFIG_LSF.

    - CONFIG_LSF
    Add new configuration parameter.
    - blkcnt_t
    On h8300, i386, mips, powerpc, s390 and sh that define sector_t,
    blkcnt_t is defined as u64 if CONFIG_LSF is enabled; otherwise it is
    defined as unsigned long.
    On other architectures, it is defined as unsigned long.
    - inode.i_blocks
    Change the type from sector_t to blkcnt_t.

    Signed-off-by: Takashi Sato
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Takashi Sato
     

24 Mar, 2006

1 commit


07 Jan, 2006

1 commit

  • Sanitize some s390 Kconfig options. We have ARCH_S390, ARCH_S390X,
    ARCH_S390_31, 64BIT, S390_SUPPORT and COMPAT. Replace these 6 options by
    S390, 64BIT and COMPAT.

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

    Martin Schwidefsky
     

04 Nov, 2005

1 commit