lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 25 May 2015 10:16:27 -0600
From:	Andreas Dilger <adilger@...ger.ca>
To:	Jan Kara <jack@...e.cz>
Cc:	"Darrick J. Wong" <darrick.wong@...cle.com>,
	linux-ext4@...r.kernel.org
Subject: Re: [PATCH 4/4] tune2fs: Add support for orphan_file feature


> On May 25, 2015, at 1:38 AM, Jan Kara <jack@...e.cz> wrote:
> 
> On Fri 22-05-15 10:18:42, Darrick J. Wong wrote:
>> On Fri, May 22, 2015 at 01:28:57PM +0200, Jan Kara wrote:
>>> @@ -1970,6 +2011,31 @@ static int parse_extended_opts(ext2_filsys fs, const char *opts)
>>> 				continue;
>>> 			}
>>> 			ext_mount_opts = strdup(arg);
>>> +		} else if (!strcmp(token, "orphan_file_size")) {
>>> +			__u64 size;
>>> +
>>> +			if (!arg) {
>>> +				r_usage++;
>>> +				continue;
>>> +			}
>>> +			size = strtoul(arg, &p, 0);
>> 
>> Would be nice if I could supply units, e.g. orphan_file_size = 128K here.
> 
> I don't mind doing this but do we have precedens in any option? Because
> e.g. journal size is just a number (in megabytes), stripe options are in fs
> blocks. For orphan file megabytes are too coarse. I can make the unit
> fs-blocks, or kbytes, or leave it at bytes, or allow specifying units but
> some consistency would be good. Any opinion?

Use "parse_num_blocks2()" for this.  This is used to parse the filesystem size in mke2fs,
blocksize, bigalloc cluster size, resize, etc.  You are right that the journal_size is
NOT using this helper, but it probably should.

Cheers, Andreas


>>> +			if (*p) {
>>> +				fprintf(stderr,
>>> +					_("Invalid size of orphan file %s\n"),
>>> +					arg);
>>> +				r_usage++;
>>> +				continue;
>>> +			}
>>> +			if (size < EXT4_MIN_ORPHAN_FILE_SIZE) {
>>> +				fprintf(stderr,
>>> +					_("Orphan file is too small. Minimum "
>>> +					  "size is %u\n"),
>>> +					EXT4_MIN_ORPHAN_FILE_SIZE);
>>> +				r_usage++;
>>> +				continue;
>>> +			}
>>> +			orphan_file_blocks = (size + fs->blocksize - 1) /
>>> +						fs->blocksize;
>>> 		} else
>>> 			r_usage++;
>>> 	}
>>> @@ -2921,6 +2987,17 @@ retry_open:
>>> 		if (rc)
>>> 			goto closefs;
>>> 	}
>>> +	if (orphan_file_blocks) {
>> 
>> If someone specifies -E orphan_file_size=NNN -O ^orphan_file, does this have
>> the effect of erasing and recreating the orphan file?
> 
> Yes, although that's a side-effect of the option parsing :) Intended use
> is that you first disable the orphan_file feature and then enable it again
> with new size.
> 
> 									Honza
> -- 
> Jan Kara <jack@...e.cz>
> SUSE Labs, CR
> --
> To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
> the body of a message to majordomo@...r.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


Cheers, Andreas





--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Powered by blists - more mailing lists