lkml.org 
[lkml]   [2007]   [Aug]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 00/23] per device dirty throttling -v8
    > change relatime updates to be performed once per day. This makes
    > relatime a compatible solution for HSM, mailer-notification and
    > tmpwatch applications too.

    Sweet
    >

    > also add the CONFIG_DEFAULT_RELATIME kernel option, which makes
    > "norelatime" the default for all mounts without an extra kernel
    > boot option.

    Should be a mount option.


    > + relatime [FS] default to enabled relatime updates on all
    > + filesystems.
    > +
    > + relatime= [FS] default to enabled/disabled relatime updates on
    > + all filesystems.
    > +

    Double patch

    > atkbd.extra= [HW] Enable extra LEDs and keys on IBM RapidAccess,
    > EzKey and similar keyboards
    >
    > @@ -1100,6 +1106,12 @@ and is between 256 and 4096 characters.
    > noasync [HW,M68K] Disables async and sync negotiation for
    > all devices.
    >
    > + norelatime [FS] default to disabled relatime updates on all
    > + filesystems.
    > +
    > + norelatime= [FS] default to disabled/enabled relatime updates
    > + on all filesystems.
    > +

    Double patch

    > +config DEFAULT_RELATIME
    > + bool "Mount all filesystems with relatime by default"
    > + default y

    Changes behaviour so probably should default n. Better yet it should be
    the mount option so its flexible and strongly encouraged for vendors.

    > /*
    > + * Allow users to disable (or enable) atime updates via a .config
    > + * option or via the boot line, or via /proc/sys/fs/mount_with_relatime:
    > + */
    > +int mount_with_relatime __read_mostly =
    > +#ifdef CONFIG_DEFAULT_RELATIME
    > +1
    > +#else
    > +0
    > +#endif
    > +;

    This ifdef mess would go away for a mount option

    > +/*
    > + * The "norelatime=", "atime=", "norelatime" and "relatime" boot parameters:
    > + */
    > +static int toggle_relatime_updates(int val)
    > +{
    > + mount_with_relatime = val;
    > +
    > + printk("Relative atime updates are: %s\n", val ? "on" : "off");
    > +
    > + return 1;
    > +}
    > +
    > +static int __init set_relatime_setup(char *str)
    > +{
    > + int val;
    > +
    > + get_option(&str, &val);
    > + return toggle_relatime_updates(val);
    > +}
    > +__setup("relatime=", set_relatime_setup);
    > +
    > +static int __init set_norelatime_setup(char *str)
    > +{
    > + int val;
    > +
    > + get_option(&str, &val);
    > + return toggle_relatime_updates(!val);
    > +}
    > +__setup("norelatime=", set_norelatime_setup);
    > +
    > +static int __init set_relatime(char *str)
    > +{
    > + return toggle_relatime_updates(1);
    > +}
    > +__setup("relatime", set_relatime);
    > +
    > +static int __init set_norelatime(char *str)
    > +{
    > + return toggle_relatime_updates(0);
    > +}
    > +__setup("norelatime", set_norelatime);


    All the above chunk is unneccessary as it can be a mount option. That
    avoids tons of messy extra code and complication. Users are far safer
    editing fstab than grub.conf.

    > + {
    > + .ctl_name = CTL_UNNUMBERED,
    > + .procname = "mount_with_relatime",
    > + .data = &mount_with_relatime,
    > + .maxlen = sizeof(int),
    > + .mode = 0644,
    > + .proc_handler = &proc_dointvec,
    > + },

    More code you don't need if you just leave it as a mount option.

    I'd much rather see the small clean patch for this as a mount option.
    Leave the rest to users/distros/lwn and it'll just happen now you've
    sorted the compabitility problems.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-08-05 21:31    [W:4.151 / U:0.312 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site