[PATCH 2/2] Add new tuneubifs
Stefani Seibold
stefani at seibold.net
Tue Jan 18 06:04:59 EST 2011
Would be great if you can fix it. I have no idea what you mean.
Thanks,
Stefani
Am Dienstag, den 18.01.2011, 12:53 +0200 schrieb Artem Bityutskiy:
> On Tue, 2011-01-18 at 10:04 +0100, stefani at seibold.net wrote:
> > +/*
> > + * Copyright (C) 2007, 2008, 2010 Nokia Corporation.
> > + *
> > + * This program is free software; you can redistribute it and/or modify it
> > + * under the terms of the GNU General Public License version 2 as published by
> > + * the Free Software Foundation.
> > + *
> > + * This program is distributed in the hope that it will be useful, but WITHOUT
> > + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
> > + * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
> > + * more details.
> > + *
> > + * You should have received a copy of the GNU General Public License along with
> > + * this program; if not, write to the Free Software Foundation, Inc., 51
> > + * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
> > + */
> > +
> > +/*
> > + * An utility to tune a UBI filesystem.
> > + *
> > + * Author: Stefani Seibold <stefani at seibold.net>
> > + * in order of NSN Nokia Siemens Networks Ulm/Germany
> > + * based on work by Artem Bityutskiy
> > + *
> > + */
> > +
> > +#define PROGRAM_VERSION "0.4"
> > +#define PROGRAM_NAME "tuneubifs"
> > +
> > +#define _GNU_SOURCE
> > +#define _LARGEFILE64_SOURCE
> > +#include <getopt.h>
> > +#include <unistd.h>
> > +#include <stdlib.h>
> > +#include <stdio.h>
> > +#include <limits.h>
> > +#include <string.h>
> > +#include <stdint.h>
> > +#include <endian.h>
> > +#include <byteswap.h>
> > +#include <linux/types.h>
> > +#include <sys/types.h>
> > +#include <sys/stat.h>
> > +#include <fcntl.h>
> > +
> > +#include <libubi.h>
> > +#include <crc32.h>
> > +#include "common.h"
> > +#include "ubiutils-common.h"
> > +#include "ubifs-media.h"
> > +#include "defs.h"
> > +
> > +static void *super_buf;
> > +struct ubi_dev_info dev_info;
> > +
> > +/* The variables below are set by command line arguments */
> > +struct args {
> > + int devn;
> > + int vol_id;
> > + const char *node;
> > + const char *vol_name;
> > + int compr;
> > + long long reserved;
> > + int verbose;
> > +};
> > +
> > +static struct args args = {
> > + .vol_id = -1,
> > + .devn = -1,
> > + .node = NULL,
> > + .vol_name = NULL,
> > + .compr = -1,
> > + .reserved = -1,
> > + .verbose = 0,
> > +};
> > +
> > +static const char doc[] = PROGRAM_NAME " version " PROGRAM_VERSION
> > + " - a tool for UBI filesystem tuning.";
> > +
> > +static const char optionsstr[] =
> > +"-d, --devn=<UBI device number> UBI device number to tune\n"
> > +"-n, --vol_id=<volume ID> ID of UBI volume to tune\n"
>
> These two options should go away. In the past, all UBI utils had these
> options, and we had something like you did:
>
> sprintf(devname, "/dev/ubi%d_%d", args.devn, args.vol_id);
>
> which is wrong because the character device name may be anything, users
> can name them, say, as
>
> /dev/ubi_rootfs
> /dev/ubi_home
>
> etc. It is up to the user and his udev rules and we should not force
> users to use /dev/ubiX_Y naming.
>
> I think we fixed all utilities at some point and now just specifying the
> volume character device should be enough.
>
> So please, let's kill these 2 options. We have 'ubi_get_dev_info()'
> which will give you devn and voli_id by the character device. This
> should be easy to change and should make the code smaller and simpler.
>
> Thanks!
>
More information about the linux-mtd
mailing list