lkml.org 
[lkml]   [2005]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [patch 1/1] reiserfs: make resize option auto-get new device size
Hi,

On Fri, Apr 08, 2005 at 06:55:50AM +0200, blaisorblade@yahoo.it wrote:
>
> Cc: <reiserfs-dev@namesys.com>, <reiserfs-list@namesys.com>, <mtk-manpages@gmx.net>
>
> It's trivial for the resize option to auto-get the underlying device size, while
> it's harder for the user. I've copied the code from jfs.
>
> Since of the different reiserfs option parser (which does not use the superior
> match_token used by almost every other filesystem), I've had to use the
> "resize=auto" and not "resize" option to specify this behaviour. Changing the
> option parser to the kernel one wouldn't be bad but I've no time to do this
> cleanup in this moment.

do people really need it?

user-level utility reisize_reiserfs, being called w/o size argument,
calculates the device size and uses resize mount option with correct value.

> Btw, the mount(8) man page should be updated to include this option. Cc the
> relevant people, please (I hope I cc'ed the right people).
>
> Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
> ---
>
> linux-2.6.11-paolo/fs/reiserfs/super.c | 21 ++++++++++++++-------
> 1 files changed, 14 insertions(+), 7 deletions(-)
>
> diff -puN fs/reiserfs/super.c~reiserfs-resize-option-like-jfs-auto-get fs/reiserfs/super.c
> --- linux-2.6.11/fs/reiserfs/super.c~reiserfs-resize-option-like-jfs-auto-get 2005-04-07 20:37:58.000000000 +0200
> +++ linux-2.6.11-paolo/fs/reiserfs/super.c 2005-04-08 01:01:18.000000000 +0200
> @@ -889,12 +889,18 @@ static int reiserfs_parse_options (struc
> char * p;
>
> p = NULL;
> - /* "resize=NNN" */
> - *blocks = simple_strtoul (arg, &p, 0);
> - if (*p != '\0') {
> - /* NNN does not look like a number */
> - reiserfs_warning (s, "reiserfs_parse_options: bad value %s", arg);
> - return 0;
> + /* "resize=NNN" or "resize=auto" */
> +
> + if (!strcmp(arg, "auto")) {
> + /* From JFS code, to auto-get the size.*/
> + *blocks = s->s_bdev->bd_inode->i_size >> s->s_blocksize_bits;
> + } else {
> + *blocks = simple_strtoul (arg, &p, 0);
> + if (*p != '\0') {
> + /* NNN does not look like a number */
> + reiserfs_warning (s, "reiserfs_parse_options: bad value %s", arg);
> + return 0;
> + }
> }
> }
>
> @@ -903,7 +909,8 @@ static int reiserfs_parse_options (struc
> unsigned long val = simple_strtoul (arg, &p, 0);
> /* commit=NNN (time in seconds) */
> if ( *p != '\0' || val >= (unsigned int)-1) {
> - reiserfs_warning (s, "reiserfs_parse_options: bad value %s", arg); return 0;
> + reiserfs_warning (s, "reiserfs_parse_options: bad value %s", arg);
> + return 0;
> }
> *commit_max_age = (unsigned int)val;
> }
> _

--
Alex.
-
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: 2005-04-08 10:29    [W:2.252 / U:1.276 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site