15 Jan, 2012

5 commits

  • I find every time when I choice the 'NO' button at the dialog
    which let me choice whether to save the configuration before exit
    menuconfig, it always report the blow:

    " GEN /mnt/sda7/home/build/test/Makefile
    HOSTCC scripts/kconfig/mconf.o
    HOSTLD scripts/kconfig/mconf
    scripts/kconfig/mconf Kconfig

    Your configuration changes were NOT saved.

    make[2]: *** [menuconfig] Error 1
    make[1]: *** [menuconfig] Error 2
    make: *** [sub-make] Error 2 "

    This patch repair it.

    Signed-off-by: Wang YanQing
    Acked-by: Davidlohr Bueso
    Signed-off-by: Michal Marek

    Wang YanQing
     
  • Arnaud Lacombe pointed out the final checking that the requested configs
    were included in the final .config was broken.

    The example was that if you had a fragment that disabled
    CONFIG_DECOMPRESS_GZIP applied to a normal defconfig, there would be no
    final warning that CONFIG_DECOMPRESS_GZIP was acutally set in the final
    .config.

    This bug was introduced by me in v3 of the original patch, and the
    following patch reverts the invalid change.

    Signed-off-by: John Stultz
    Reported-by: Arnaud Lacombe
    Cc: Darren Hart
    Cc: Michal Marek
    Cc: Arnaud Lacombe
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    John Stultz
     
  • Fix whitespace usage in the clean_up routine.

    Signed-off-by: Darren Hart
    Acked-by: John Stultz
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Darren Hart
     
  • The SIGHUP SIGINT and SIGTERM names caused failures when running
    merge_config.sh with the dash shell. Dropping the "SIG" component makes
    the script work in both bash and dash.

    Signed-off-by: Darren Hart
    Acked-by: John Stultz
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    Darren Hart
     
  • After noticing almost every distro has their own method of managing config
    fragments, I went looking at some best practices, and wanted to try to
    consolidate some of the different approaches so this fairly simple
    infrastructure can be shared (and new distros/build systems don't have to
    implement yet another config fragment merge script).

    This script is most influenced by the Windriver tools used in the Yocto
    Project, reusing some portions found there.

    This script merges multiple config fragments, warning on any overridden
    values. It then sets any unspecified values to their default, then
    finally checks to make sure no specified value was dropped due to
    unsatisfied dependencies.

    I'm sure this implementation won't work for everyone, and I expect it will
    need to evolve to adapt for various use cases. But I think its a
    reasonable starting point.

    Cc: Sam Ravnborg
    Cc: Greg Thelen
    Cc: Reinhard Tartler
    Cc: Dmitry Fink
    Cc: Darren Hart
    Cc: Eric B Munson
    Cc: Bruce Ashfield
    Cc: Michal Marek
    Signed-off-by: John Stultz
    Signed-off-by: Andrew Morton
    Signed-off-by: Michal Marek

    john stultz
     

19 Dec, 2011

1 commit

  • Use the xfwrite wrapper function defined in lkc.h to check the return value of
    fwrite and silence these warnings.

    HOSTCC scripts/kconfig/zconf.tab.o
    scripts/kconfig/zconf.tab.c: In function 'header_print_comment':
    /usr/src/lto/scripts/kconfig/confdata.c:551:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result
    scripts/kconfig/zconf.tab.c: In function 'kconfig_print_comment':
    /usr/src/lto/scripts/kconfig/confdata.c:467:10: warning: ignoring return value of 'fwrite', declared with attribute warn_unused_result

    Signed-off-by: Peter Foley
    Signed-off-by: Michal Marek

    Peter Foley
     

12 Dec, 2011

2 commits

  • Remove set but not used variables to fix warnings.

    HOSTCC scripts/kconfig/gconf.o
    /usr/src/lto/scripts/kconfig/gconf.c: In function 'change_sym_value':
    /usr/src/lto/scripts/kconfig/gconf.c:833:11: warning: variable 'oldval' set but not used [-Wunused-but-set-variable]
    /usr/src/lto/scripts/kconfig/gconf.c: In function 'update_tree':
    /usr/src/lto/scripts/kconfig/gconf.c:1281:19: warning: variable 'prop' set but not used [-Wunused-but-set-variable]

    Signed-off-by: Peter Foley
    Signed-off-by: Michal Marek

    Peter Foley
     
  • Specify format arguments to fix warnings.

    HOSTCC scripts/kconfig/gconf.o
    /usr/src/lto/scripts/kconfig/gconf.c: In function 'on_introduction1_activate':
    /usr/src/lto/scripts/kconfig/gconf.c:686:6: warning: format not a string literal and no format arguments
    /usr/src/lto/scripts/kconfig/gconf.c: In function 'on_about1_activate':
    /usr/src/lto/scripts/kconfig/gconf.c:704:6: warning: format not a string literal and no format arguments
    /usr/src/lto/scripts/kconfig/gconf.c: In function 'on_license1_activate':
    /usr/src/lto/scripts/kconfig/gconf.c:723:6: warning: format not a string literal and no format arguments

    Signed-off-by: Peter Foley
    Signed-off-by: Michal Marek

    Peter Foley
     

09 Sep, 2011

5 commits

  • to make it easier to locate begin/end when editing long strings;

    Signed-off-by: Cheng Renquan
    Acked By: Nir Tzachar

    Cheng Renquan
     
  • The original dialog_inputbox doesn't work with longer than prompt_width
    strings, here fixed it in this way:
    1) add variable cursor_form_win to record cursor of form_win,
    keep its value always between [0, prompt_width-1];
    reuse the original cursor_position as cursor of the string result,
    use (cursor_position-cursor_form_win) as begin offset to show part of
    the string in form_win;

    Signed-off-by: Cheng Renquan
    Cc: Arnaud Lacombe
    Cc: Nir Tzachar

    Cheng Renquan
     
  • To support unlimited length string config items;

    No check for realloc return value keeps code simple, and to be
    consistent with other existing unchecked malloc in kconfig.

    Signed-off-by: Cheng Renquan
    Signed-off-by: Arnaud Lacombe

    Cheng Renquan
     
  • In case KEY_BACKSPACE / KEY_DC to delete a char, it memmove only
    (len-cursor_position+1) bytes;
    the default case is to insert a char, it should also memmove exactly
    (len-cursor_position+1) bytes;

    the original use of (len+1) is wrong and may access following memory
    that doesn't belong to result, may cause SegFault in theory;

    case KEY_BACKSPACE:
    if (cursor_position > 0) {
    memmove(&result[cursor_position-1],
    &result[cursor_position],
    len-cursor_position+1);
    cursor_position--;
    }
    break;
    case KEY_DC:
    if (cursor_position >= 0 && cursor_position < len) {
    memmove(&result[cursor_position],
    &result[cursor_position+1],
    len-cursor_position+1);
    }
    break;
    default:
    if ((isgraph(res) || isspace(res)) &&
    len-2 < result_len) {
    /* insert the char at the proper position */
    memmove(&result[cursor_position+1],
    &result[cursor_position],
    len-cursor_position+1);
    result[cursor_position] = res;
    cursor_position++;
    }

    Signed-off-by: Cheng Renquan
    Acked-by: Nir Tzachar

    Cheng Renquan
     
  • Signed-off-by: Cheng Renquan
    Acked-by: Arnaud Lacombe

    Cheng Renquan
     

31 Aug, 2011

1 commit


30 Aug, 2011

3 commits


19 Aug, 2011

1 commit


08 Aug, 2011

13 commits


07 Aug, 2011

9 commits

  • After commit 3567866bf261: "RCUify freeing acls, let check_acl() go ahead in
    RCU mode if acl is cached" posix_acl_permission is being called with an
    unsupported flag and the permission check fails. This patch fixes the issue.

    Signed-off-by: Ari Savolainen
    Signed-off-by: Al Viro

    Ari Savolainen
     
  • * 'for-linus' of git://git.open-osd.org/linux-open-osd:
    ore: Make ore its own module
    exofs: Rename raid engine from exofs/ios.c => ore
    exofs: ios: Move to a per inode components & device-table
    exofs: Move exofs specific osd operations out of ios.c
    exofs: Add offset/length to exofs_get_io_state
    exofs: Fix truncate for the raid-groups case
    exofs: Small cleanup of exofs_fill_super
    exofs: BUG: Avoid sbi realloc
    exofs: Remove pnfs-osd private definitions
    nfs_xdr: Move nfs4_string definition out of #ifdef CONFIG_NFS_V4

    Linus Torvalds
     
  • The inode structure layout is largely random, and some of the vfs paths
    really do care. The path lookup in particular is already quite D$
    intensive, and profiles show that accessing the 'inode->i_op->xyz'
    fields is quite costly.

    We already optimized the dcache to not unnecessarily load the d_op
    structure for members that are often NULL using the DCACHE_OP_xyz bits
    in dentry->d_flags, and this does something very similar for the inode
    ops that are used during pathname lookup.

    It also re-orders the fields so that the fields accessed by 'stat' are
    together at the beginning of the inode structure, and roughly in the
    order accessed.

    The effect of this seems to be in the 1-2% range for an empty kernel
    "make -j" run (which is fairly kernel-intensive, mostly in filename
    lookup), so it's visible. The numbers are fairly noisy, though, and
    likely depend a lot on exact microarchitecture. So there's more tuning
    to be done.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Gcc tends to generate better code with small integers, including the
    DCACHE_xyz flag tests - so move the common ones to be first in the list.
    Also just remove the unused DCACHE_INOTIFY_PARENT_WATCHED and
    DCACHE_AUTOFS_PENDING values, their users no longer exists in the source
    tree.

    And add a "unlikely()" to the DCACHE_OP_COMPARE test, since we want the
    common case to be a nice straight-line fall-through.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    net: Compute protocol sequence numbers and fragment IDs using MD5.
    crypto: Move md5_transform to lib/md5.c

    Linus Torvalds
     
  • Export everything from ore need exporting. Change Kbuild and Kconfig
    to build ore.ko as an independent module. Import ore from exofs

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • ORE stands for "Objects Raid Engine"

    This patch is a mechanical rename of everything that was in ios.c
    and its API declaration to an ore.c and an osd_ore.h header. The ore
    engine will later be used by the pnfs objects layout driver.

    * File ios.c => ore.c

    * Declaration of types and API are moved from exofs.h to a new
    osd_ore.h

    * All used types are prefixed by ore_ from their exofs_ name.

    * Shift includes from exofs.h to osd_ore.h so osd_ore.h is
    independent, include it from exofs.h.

    Other than a pure rename there are no other changes. Next patch
    will move the ore into it's own module and will export the API
    to be used by exofs and later the layout driver

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • Exofs raid engine was saving on memory space by having a single layout-info,
    single pid, and a single device-table, global to the filesystem. Then passing
    a credential and object_id info at the io_state level, private for each
    inode. It would also devise this contraption of rotating the device table
    view for each inode->ino to spread out the device usage.

    This is not compatible with the pnfs-objects standard, demanding that
    each inode can have it's own layout-info, device-table, and each object
    component it's own pid, oid and creds.

    So: Bring exofs raid engine to be usable for generic pnfs-objects use by:

    * Define an exofs_comp structure that holds obj_id and credential info.

    * Break up exofs_layout struct to an exofs_components structure that holds a
    possible array of exofs_comp and the array of devices + the size of the
    arrays.

    * Add a "comps" parameter to get_io_state() that specifies the ids creds
    and device array to use for each IO.

    This enables to keep the layout global, but the device-table view, creds
    and IDs at the inode level. It only adds two 64bit to each inode, since
    some of these members already existed in another form.

    * ios raid engine now access layout-info and comps-info through the passed
    pointers. Everything is pre-prepared by caller for generic access of
    these structures and arrays.

    At the exofs Level:

    * Super block holds an exofs_components struct that holds the device
    array, previously in layout. The devices there are in device-table
    order. The device-array is twice bigger and repeats the device-table
    twice so now each inode's device array can point to a random device
    and have a round-robin view of the table, making it compatible to
    previous exofs versions.

    * Each inode has an exofs_components struct that is initialized at
    load time, with it's own view of the device table IDs and creds.
    When doing IO this gets passed to the io_state together with the
    layout.

    While preforming this change. Bugs where found where credentials with the
    wrong IDs where used to access the different SB objects (super.c). As well
    as some dead code. It was never noticed because the target we use does not
    check the credentials.

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh
     
  • ios.c will be moving to an external library, for use by the
    objects-layout-driver. Remove from it some exofs specific functions.

    Also g_attr_logical_length is used both by inode.c and ios.c
    move definition to the later, to keep it independent

    Signed-off-by: Boaz Harrosh

    Boaz Harrosh