26 Jun, 2015

1 commit

  • If create_dev() function fails to create the root mount device
    (/dev/root), then it goes to panic as root device not found but there is
    no printk in this case. So I have added the log in case it fails to
    create the root device. It will help in debugging.

    [akpm@linux-foundation.org: simplify printk(), use pr_emerg(), display errno]
    Signed-off-by: Vishnu Pratap Singh
    Acked-by: Pavel Machek
    Cc: Paul Gortmaker
    Cc: Mike Snitzer
    Cc: Dan Ehrenberg
    Cc: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vishnu Pratap Singh
     

06 May, 2015

1 commit

  • Commit 283e7ad02 ("init: stricter checking of major:minor root=
    values") was so strict that it exposed the fact that a previously
    unknown device format was being used.

    Distributions like Ubuntu uses klibc (rather than uswsusp) to resume
    system from hibernation. klibc expressed the swap partition/file in
    the form of major:minor:offset. For example, 8:3:0 represents a swap
    partition in klibc, and klibc's resume process in initrd will finally
    echo 8:3:0 to /sys/power/resume for manually resuming. However, due
    to commit 283e7ad02's stricter checking, 8:3:0 will be treated as an
    invalid device format, and manual resuming from hibernation will fail.

    Fix this by adding support for devices with major:minor:offset format
    when resuming from hibernation.

    Reported-by: Prigent, Christophe
    Signed-off-by: Chen Yu
    Acked-by: Rafael J. Wysocki
    Signed-off-by: Mike Snitzer

    Chen Yu
     

16 Apr, 2015

2 commits

  • In the kernel command-line, previously, root=1:2jakshflaksjdhfa would
    be accepted and interpreted just like root=1:2. This patch adds
    stricter checking so that additional characters after major:minor are
    rejected by root=.

    The goal of this change is to help in unifying DM's interpretation of
    its block device argument by using existing kernel code (name_to_dev_t).
    But DM rejects malformed major:minor pairs, it seems reasonable for
    root= to reject them as well.

    Signed-off-by: Dan Ehrenberg
    Signed-off-by: Mike Snitzer

    Dan Ehrenberg
     
  • DM will switch its device lookup code to using name_to_dev_t() so it
    must be exported. Also, the @name argument should be marked const.

    Signed-off-by: Dan Ehrenberg
    Signed-off-by: Mike Snitzer

    Dan Ehrenberg
     

17 Dec, 2014

1 commit

  • If mount flags don't have MS_RDONLY, iso9660 returns EACCES without actually
    checking if it's an iso image.

    This tricks mount_block_root() into retrying with MS_RDONLY. This results
    in a read-only root despite the "rw" boot parameter if the actual
    filesystem was checked after iso9660.

    I believe the behavior of iso9660 is okay, while that of mount_block_root()
    is not. It should rather try all types without MS_RDONLY and only then
    retry with MS_RDONLY.

    This change also makes the code more robust against the case when EACCES is
    returned despite MS_RDONLY, which would've resulted in a lockup.

    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     

28 Aug, 2014

1 commit


04 Apr, 2014

1 commit


13 Nov, 2013

1 commit


12 Sep, 2013

3 commits

  • Command line option rootfstype=ramfs to obtain old initramfs behavior, and
    use ramfs instead of tmpfs for stub when root= defined (for cosmetic
    reasons).

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Rob Landley
    Cc: Jeff Layton
    Cc: Jens Axboe
    Cc: Stephen Warren
    Cc: Rusty Russell
    Cc: Jim Cromie
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: "Eric W. Biederman"
    Cc: Alexander Viro
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Landley
     
  • Conditionally call the appropriate fs_init function and fill_super
    functions. Add a use once guard to shmem_init() to simply succeed on a
    second call.

    (Note that IS_ENABLED() is a compile time constant so dead code
    elimination removes unused function calls when CONFIG_TMPFS is disabled.)

    Signed-off-by: Rob Landley
    Cc: Jeff Layton
    Cc: Jens Axboe
    Cc: Stephen Warren
    Cc: Rusty Russell
    Cc: Jim Cromie
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: "Eric W. Biederman"
    Cc: Alexander Viro
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Landley
     
  • When the rootfs code was a wrapper around ramfs, having them in the same
    file made sense. Now that it can wrap another filesystem type, move it in
    with the init code instead.

    This also allows a subsequent patch to access rootfstype= command line
    arg.

    Signed-off-by: Rob Landley
    Cc: Jeff Layton
    Cc: Jens Axboe
    Cc: Stephen Warren
    Cc: Rusty Russell
    Cc: Jim Cromie
    Cc: Sam Ravnborg
    Cc: Greg Kroah-Hartman
    Cc: "Eric W. Biederman"
    Cc: Alexander Viro
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Rob Landley
     

04 Jul, 2013

1 commit


07 Feb, 2013

1 commit

  • All in-kernel users of class_find_device() don't really need mutable
    data for match callback.

    In two places (kernel/power/suspend_test.c, drivers/scsi/osd/osd_uld.c)
    this patch changes match callbacks to use const search data.

    The const is propagated to rtc_class_open() and power_supply_get_by_name()
    parameters.

    Note that there's a dev reference leak in suspend_test.c that's not
    touched in this patch.

    Signed-off-by: Michał Mirosław
    Acked-by: Grant Likely
    Signed-off-by: Greg Kroah-Hartman

    Michał Mirosław
     

23 Nov, 2012

3 commits

  • The MSDOS/MBR partition table includes a 32-bit unique ID, often referred
    to as the NT disk signature. When combined with a partition number within
    the table, this can form a unique ID similar in concept to EFI/GPT's
    partition UUID. Constructing and recording this value in struct
    partition_meta_info allows MSDOS partitions to be referred to on the
    kernel command-line using the following syntax:

    root=PARTUUID=0002dd75-01

    Signed-off-by: Stephen Warren
    Cc: Tejun Heo
    Cc: Will Drewry
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen Warren
     
  • Reduce the minimum length for a root=PARTUUID= parameter to be considered
    valid from 36 to 1. EFI/GPT partition UUIDs are always exactly 36
    characters long, hence the previous limit. However, the next patch will
    support DOS/MBR UUIDs too, which have a different, shorter, format.
    Instead of validating any particular length, just ensure that at least
    some non-empty value was given by the user.

    Also, consider a missing UUID value to be a parsing error, in the same
    vein as if /PARTNROFF exists and can't be parsed. As such, make both
    error cases print a message and disable rootwait. Convert to pr_err while
    we're at it.

    Signed-off-by: Stephen Warren
    Cc: Tejun Heo
    Cc: Will Drewry
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen Warren
     
  • This will allow other types of UUID to be stored here, aside from true
    UUIDs. This also simplifies code that uses this field, since it's usually
    constructed from a, used as a, or compared to other, strings.

    Note: A simplistic approach here would be to set uuid_str[36]=0 whenever a
    /PARTNROFF option was found to be present. However, this modifies the
    input string, and causes subsequent calls to devt_from_partuuid() not to
    see the /PARTNROFF option, which causes different results. In order to
    avoid misleading future maintainers, this parameter is marked const.

    Signed-off-by: Stephen Warren
    Cc: Tejun Heo
    Cc: Will Drewry
    Cc: Kay Sievers
    Signed-off-by: Andrew Morton
    Signed-off-by: Jens Axboe

    Stephen Warren
     

12 Oct, 2012

1 commit

  • First, it's incorrect to call putname() after __getname_gfp() since the
    bare __getname_gfp() call skips the auditing code, while putname()
    doesn't.

    mount_block_root allocates a PATH_MAX buffer via __getname_gfp, and then
    calls get_fs_names to fill the buffer. That function can call
    get_filesystem_list which assumes that that buffer is a full page in
    size. On arches where PAGE_SIZE != 4k, then this could potentially
    overrun.

    In practice, it's hard to imagine the list of filesystem names even
    approaching 4k, but it's best to be safe. Just allocate a page for this
    purpose instead.

    With this, we can also remove the __getname_gfp() definition since there
    are no more callers.

    Signed-off-by: Jeff Layton
    Signed-off-by: Al Viro

    Jeff Layton
     

01 Jun, 2012

1 commit

  • The init/mount.o source files produce a number of sparse warnings of the
    type:

    warning: incorrect type in argument 1 (different address spaces)
    expected char [noderef] *dev_name
    got char *name

    This is due to the syscalls expecting some of the arguments to be user
    pointers but they are being passed as kernel pointers. This is harmless
    but adds a lot of noise to a sparse build.

    To limit the noise just disable the sparse checking in the relevant source
    files, but still display a warning so that the user knows this has been
    done.

    Since the sparse checking has been disabled we can also remove the __user
    __force casts that are scattered thru the source.

    Signed-off-by: H Hartley Sweeten
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    H Hartley Sweeten
     

06 May, 2012

1 commit

  • Currently, we'll try mounting any device who's major device number is
    UNNAMED_MAJOR as NFS root. This would happen for non-NFS devices as
    well (such as 9p devices) but it wouldn't cause any issues since
    mounting the device as NFS would fail quickly and the code proceeded to
    doing the proper mount:

    [ 101.522716] VFS: Unable to mount root fs via NFS, trying floppy.
    [ 101.534499] VFS: Mounted root (9p filesystem) on device 0:18.

    Commit 6829a048102a ("NFS: Retry mounting NFSROOT") introduced retries
    when mounting NFS root, which means that now we don't immediately fail
    and instead it takes an additional 90+ seconds until we stop retrying,
    which has revealed the issue this patch fixes.

    This meant that it would take an additional 90 seconds to boot when
    we're not using a device type which gets detected in order before NFS.

    This patch modifies the NFS type check to require device type to be
    'Root_NFS' instead of requiring the device to have an UNNAMED_MAJOR
    major. This makes boot process cleaner since we now won't go through
    the NFS mounting code at all when the device isn't an NFS root
    ("/dev/nfs").

    Signed-off-by: Sasha Levin
    Signed-off-by: Linus Torvalds

    Sasha Levin
     

24 Mar, 2012

1 commit

  • Printing the error code makes it easier to debug the cause of a mount
    failure. For example I had the problem that the root file system could
    not be mounted read-writeable because my SD card was write-protected.
    Without an error code it looks like the SD card was not detected at all.

    Signed-off-by: Bernhard Walle
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

11 Jan, 2012

1 commit

  • * 'nfs-for-3.3' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFSv4: Change the default setting of the nfs4_disable_idmapping parameter
    NFSv4: Save the owner/group name string when doing open
    NFS: Remove pNFS bloat from the generic write path
    pnfs-obj: Must return layout on IO error
    pnfs-obj: pNFS errors are communicated on iodata->pnfs_error
    NFS: Cache state owners after files are closed
    NFS: Clean up nfs4_find_state_owners_locked()
    NFSv4: include bitmap in nfsv4 get acl data
    nfs: fix a minor do_div portability issue
    NFSv4.1: cleanup comment and debug printk
    NFSv4.1: change nfs4_free_slot parameters for dynamic slots
    NFSv4.1: cleanup init and reset of session slot tables
    NFSv4.1: fix backchannel slotid off-by-one bug
    nfs: fix regression in handling of context= option in NFSv4
    NFS - fix recent breakage to NFS error handling.
    NFS: Retry mounting NFSROOT
    SUNRPC: Clean up the RPCSEC_GSS service ticket requests

    Linus Torvalds
     

07 Jan, 2012

1 commit


05 Jan, 2012

1 commit

  • Lukas Razik reports that on his SPARC system,
    booting with an NFS root file system stopped working after commit
    56463e50 "NFS: Use super.c for NFSROOT mount option parsing."

    We found that the network switch to which Lukas' client was attached
    was delaying access to the LAN after the client's NIC driver reported
    that its link was up. The delay was longer than the timeouts used in
    the NFS client during mounting.

    NFSROOT worked for Lukas before commit 56463e50 because in those
    kernels, the client's first operation was an rpcbind request to
    determine which port the NFS server was listening on. When that
    request failed after a long timeout, the client simply selected the
    default NFS port (2049). By that time the switch was allowing access
    to the LAN, and the mount succeeded.

    Neither of these client behaviors is desirable, so reverting 56463e50
    is really not a choice. Instead, introduce a mechanism that retries
    the NFSROOT mount request several times. This is the same tactic that
    normal user space NFS mounts employ to overcome server and network
    delays.

    Signed-off-by: Lukas Razik
    [ cel: match kernel coding style, add proper patch description ]
    [ cel: add exponential back-off ]
    Signed-off-by: Chuck Lever
    Tested-by: Lukas Razik
    Cc: stable@kernel.org # > 2.6.38
    Signed-off-by: Trond Myklebust

    Chuck Lever
     

03 Nov, 2011

1 commit

  • Expand root=PARTUUID=UUID syntax to support selecting a root partition by
    integer offset from a known, unique partition. This approach provides
    similar properties to specifying a device and partition number, but using
    the UUID as the unique path prior to evaluating the offset.

    For example,
    root=PARTUUID=99DE9194-FC15-4223-9192-FC243948F88B/PARTNROFF=1
    selects the partition with UUID 99DE.. then select the next
    partition.

    This change is motivated by a particular usecase in Chromium OS where the
    bootloader can easily determine what partition it is on (by UUID) but
    doesn't perform general partition table walking.

    That said, support for this model provides a direct mechanism for the user
    to modify the root partition to boot without specifically needing to
    extract each UUID or update the bootloader explicitly when the root
    partition UUID is changed (if it is recreated to be larger, for instance).
    Pinning to a /boot-style partition UUID allows the arbitrary root
    partition reconfiguration/modifications with slightly less ambiguity than
    just [dev][partition] and less stringency than the specific root partition
    UUID.

    [sfr@canb.auug.org.au: fix init sections warning]
    Signed-off-by: Will Drewry
    Cc: Kay Sievers
    Cc: Randy Dunlap
    Cc: Namhyung Kim
    Cc: Trond Myklebust
    Cc: Jens Axboe
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Will Drewry
     

31 Mar, 2011

1 commit


23 Mar, 2011

1 commit

  • printk()s without a priority level default to KERN_WARNING. To reduce
    noise at KERN_WARNING, this patch set the priority level appriopriately
    for unleveled printks()s. This should be useful to folks that look at
    dmesg warnings closely.

    Signed-off-by: Mandeep Singh Baines
    Cc: Jens Axboe
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mandeep Singh Baines
     

04 Jan, 2011

1 commit


27 Oct, 2010

1 commit

  • When calling syscall service routines in kernel, some of arguments should
    be user pointers but were missing __user markup on string literals. Add
    it. Removes some sparse warnings.

    Signed-off-by: Namhyung Kim
    Cc: Phillip Lougher
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Namhyung Kim
     

26 Oct, 2010

1 commit

  • * 'nfs-for-2.6.37' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (67 commits)
    SUNRPC: Cleanup duplicate assignment in rpcauth_refreshcred
    nfs: fix unchecked value
    Ask for time_delta during fsinfo probe
    Revalidate caches on lock
    SUNRPC: After calling xprt_release(), we must restart from call_reserve
    NFSv4: Fix up the 'dircount' hint in encode_readdir
    NFSv4: Clean up nfs4_decode_dirent
    NFSv4: nfs4_decode_dirent must clear entry->fattr->valid
    NFSv4: Fix a regression in decode_getfattr
    NFSv4: Fix up decode_attr_filehandle() to handle the case of empty fh pointer
    NFS: Ensure we check all allocation return values in new readdir code
    NFS: Readdir plus in v4
    NFS: introduce generic decode_getattr function
    NFS: check xdr_decode for errors
    NFS: nfs_readdir_filler catch all errors
    NFS: readdir with vmapped pages
    NFS: remove page size checking code
    NFS: decode_dirent should use an xdr_stream
    SUNRPC: Add a helper function xdr_inline_peek
    NFS: remove readdir plus limit
    ...

    Linus Torvalds
     

17 Sep, 2010

2 commits

  • Replace duplicate code in NFSROOT for mounting an NFS server on '/'
    with logic that uses the existing mainline text-based logic in the NFS
    client.

    Add documenting comments where appropriate.

    Note that this means NFSROOT mounts now use the same default settings
    as v2/v3 mounts done via mount(2) from user space.

    vers=3,tcp,rsize=,wsize=

    As before, however, no version/protocol negotiation with the server is
    done.

    Signed-off-by: Chuck Lever
    Signed-off-by: Trond Myklebust

    Chuck Lever
     
  • When CONFIG_BLOCK is not enabled:

    init/do_mounts.c:71: error: implicit declaration of function 'dev_to_part'
    init/do_mounts.c:71: warning: initialization makes pointer from integer without a cast
    init/do_mounts.c:73: error: dereferencing pointer to incomplete type
    init/do_mounts.c:76: error: dereferencing pointer to incomplete type
    init/do_mounts.c:76: error: dereferencing pointer to incomplete type
    init/do_mounts.c:102: error: implicit declaration of function 'part_pack_uuid'
    init/do_mounts.c:104: error: 'block_class' undeclared (first use in this function)

    Reported-by: Randy Dunlap
    Signed-off-by: Jens Axboe

    Jens Axboe
     

16 Sep, 2010

1 commit

  • It is also called outside the scope of init functions. Stephen
    reports:

    WARNING: init/mounts.o(.text+0x21a): Section mismatch in reference from the function name_to_dev_t() to the function .init.text:match_dev_by_uuid()
    The function name_to_dev_t() references
    the function __init match_dev_by_uuid().
    This is often because name_to_dev_t lacks a __init
    annotation or the annotation of match_dev_by_uuid is wrong.

    Reported-by: Stephen Rothwell
    Signed-off-by: Jens Axboe

    Jens Axboe
     

15 Sep, 2010

1 commit

  • This is the third patch in a series which adds support for
    storing partition metadata, optionally, off of the hd_struct.

    One major use for that data is being able to resolve partition
    by other identities than just the index on a block device. Device
    enumeration varies by platform and there's a benefit to being able
    to use something like EFI GPT's GUIDs to determine the correct
    block device and partition to mount as the root.

    This change adds that support to root= by adding support for
    the following syntax:

    root=PARTUUID=hex-uuid

    Signed-off-by: Will Drewry
    Signed-off-by: Jens Axboe

    Will Drewry
     

30 Mar, 2010

1 commit

  • …it slab.h inclusion from percpu.h

    percpu.h is included by sched.h and module.h and thus ends up being
    included when building most .c files. percpu.h includes slab.h which
    in turn includes gfp.h making everything defined by the two files
    universally available and complicating inclusion dependencies.

    percpu.h -> slab.h dependency is about to be removed. Prepare for
    this change by updating users of gfp and slab facilities include those
    headers directly instead of assuming availability. As this conversion
    needs to touch large number of source files, the following script is
    used as the basis of conversion.

    http://userweb.kernel.org/~tj/misc/slabh-sweep.py

    The script does the followings.

    * Scan files for gfp and slab usages and update includes such that
    only the necessary includes are there. ie. if only gfp is used,
    gfp.h, if slab is used, slab.h.

    * When the script inserts a new include, it looks at the include
    blocks and try to put the new include such that its order conforms
    to its surrounding. It's put in the include block which contains
    core kernel includes, in the same order that the rest are ordered -
    alphabetical, Christmas tree, rev-Xmas-tree or at the end if there
    doesn't seem to be any matching order.

    * If the script can't find a place to put a new include (mostly
    because the file doesn't have fitting include block), it prints out
    an error message indicating which .h file needs to be added to the
    file.

    The conversion was done in the following steps.

    1. The initial automatic conversion of all .c files updated slightly
    over 4000 files, deleting around 700 includes and adding ~480 gfp.h
    and ~3000 slab.h inclusions. The script emitted errors for ~400
    files.

    2. Each error was manually checked. Some didn't need the inclusion,
    some needed manual addition while adding it to implementation .h or
    embedding .c file was more appropriate for others. This step added
    inclusions to around 150 files.

    3. The script was run again and the output was compared to the edits
    from #2 to make sure no file was left behind.

    4. Several build tests were done and a couple of problems were fixed.
    e.g. lib/decompress_*.c used malloc/free() wrappers around slab
    APIs requiring slab.h to be added manually.

    5. The script was run on all .h files but without automatically
    editing them as sprinkling gfp.h and slab.h inclusions around .h
    files could easily lead to inclusion dependency hell. Most gfp.h
    inclusion directives were ignored as stuff from gfp.h was usually
    wildly available and often used in preprocessor macros. Each
    slab.h inclusion directive was examined and added manually as
    necessary.

    6. percpu.h was updated not to include slab.h.

    7. Build test were done on the following configurations and failures
    were fixed. CONFIG_GCOV_KERNEL was turned off for all tests (as my
    distributed build env didn't work with gcov compiles) and a few
    more options had to be turned off depending on archs to make things
    build (like ipr on powerpc/64 which failed due to missing writeq).

    * x86 and x86_64 UP and SMP allmodconfig and a custom test config.
    * powerpc and powerpc64 SMP allmodconfig
    * sparc and sparc64 SMP allmodconfig
    * ia64 SMP allmodconfig
    * s390 SMP allmodconfig
    * alpha SMP allmodconfig
    * um on x86_64 SMP allmodconfig

    8. percpu.h modifications were reverted so that it could be applied as
    a separate patch and serve as bisection point.

    Given the fact that I had only a couple of failures from tests on step
    6, I'm fairly confident about the coverage of this conversion patch.
    If there is a breakage, it's likely to be something in one of the arch
    headers which should be easily discoverable easily on most builds of
    the specific arch.

    Signed-off-by: Tejun Heo <tj@kernel.org>
    Guess-its-ok-by: Christoph Lameter <cl@linux-foundation.org>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Lee Schermerhorn <Lee.Schermerhorn@hp.com>

    Tejun Heo
     

16 Sep, 2009

1 commit

  • Devtmpfs lets the kernel create a tmpfs instance called devtmpfs
    very early at kernel initialization, before any driver-core device
    is registered. Every device with a major/minor will provide a
    device node in devtmpfs.

    Devtmpfs can be changed and altered by userspace at any time,
    and in any way needed - just like today's udev-mounted tmpfs.
    Unmodified udev versions will run just fine on top of it, and will
    recognize an already existing kernel-created device node and use it.
    The default node permissions are root:root 0600. Proper permissions
    and user/group ownership, meaningful symlinks, all other policy still
    needs to be applied by userspace.

    If a node is created by devtmps, devtmpfs will remove the device node
    when the device goes away. If the device node was created by
    userspace, or the devtmpfs created node was replaced by userspace, it
    will no longer be removed by devtmpfs.

    If it is requested to auto-mount it, it makes init=/bin/sh work
    without any further userspace support. /dev will be fully populated
    and dynamic, and always reflect the current device state of the kernel.
    With the commonly used dynamic device numbers, it solves the problem
    where static devices nodes may point to the wrong devices.

    It is intended to make the initial bootup logic simpler and more robust,
    by de-coupling the creation of the inital environment, to reliably run
    userspace processes, from a complex userspace bootstrap logic to provide
    a working /dev.

    Signed-off-by: Kay Sievers
    Signed-off-by: Jan Blunck
    Tested-By: Harald Hoyer
    Tested-By: Scott James Remnant
    Signed-off-by: Greg Kroah-Hartman

    Kay Sievers
     

15 Jun, 2009

1 commit

  • This false positive is due to the fact that do_mount_root() fakes a
    mount option (which is normally read from userspace), and the kernel
    unconditionally reads a whole page for the mount option.

    Hide the false positive by using the new __getname_gfp() with the
    __GFP_NOTRACK_FALSE_POSITIVE flag.

    Cc: Al Viro
    Signed-off-by: Vegard Nossum

    Vegard Nossum
     

01 Apr, 2009

1 commit


22 Feb, 2009

1 commit


08 Jan, 2009

1 commit

  • Right now, most of the kernel boot is strictly synchronous, such that
    various hardware delays are done sequentially.

    In order to make the kernel boot faster, this patch introduces
    infrastructure to allow doing some of the initialization steps
    asynchronously, which will hide significant portions of the hardware delays
    in practice.

    In order to not change device order and other similar observables, this
    patch does NOT do full parallel initialization.

    Rather, it operates more in the way an out of order CPU does; the work may
    be done out of order and asynchronous, but the observable effects
    (instruction retiring for the CPU) are still done in the original sequence.

    Signed-off-by: Arjan van de Ven

    Arjan van de Ven
     

07 Jan, 2009

1 commit

  • In the past, I used the root=... command line parameter to specify the
    root filesystem to the kernel. Now it seems that specifying it is not
    necessary. The kernel detects the root filesystem even if the kernel
    command line is empty. My root fs is on a raid1 device by the way, and I
    am not using initrd for the boot process.

    If the kernel detects the root filesystem somehow, I think it should print
    out the result of this detection, otherwise I will not know which device
    has the root filesystem. Or is there an easy way to get this information
    on a running system? I had a quick look at the /proc and /sys
    filesystems, but haven't found anything useful there.

    Signed-off-by: Marton Balint
    Cc: Christoph Hellwig
    Cc: Al Viro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Marton Balint