Re: [RFC] Btrfs: Allow the compressed extent size limit to be modified.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> +	unsigned compressed_extent_size;

It kind of jumps out that this mentions neither that it's the max nor
that it's in KB.  How about max_compressed_extent_kb?

> +	fs_info->compressed_extent_size = 128;

I'd put a DEFAULT_MAX_EXTENTS up by the MAX_ definition instead of using
a raw 128 here.

> +	unsigned long max_compressed = root->fs_info->compressed_extent_size * 1024;
> +	unsigned long max_uncompressed = root->fs_info->compressed_extent_size * 1024;

(so max_compressed is in bytes)

>  	nr_pages = (end >> PAGE_CACHE_SHIFT) - (start >> PAGE_CACHE_SHIFT) + 1;
> -	nr_pages = min(nr_pages, (128 * 1024UL) / PAGE_CACHE_SIZE);
> +	nr_pages = min(nr_pages, (max_compressed * 1024UL) / PAGE_CACHE_SIZE);

(and now that expression adds another * 1024, allowing {128,512}MB
extents :))

>  	 * We also want to make sure the amount of IO required to do
>  	 * a random read is reasonably small, so we limit the size of
> -	 * a compressed extent to 128k.
> +	 * a compressed extent (default of 128k).

Just drop the value so that this comment doesn't need to be updated
again.

-	 * a compressed extent to 128k.
+	 * a compressed extent.

> +	{Opt_compr_extent_size, "compressed_extent_size=%d"},

It's even more important to make the exposed option self-documenting
than it was to get the fs_info member right.

> +			if ((intarg == 128) || (intarg == 512)) {
> +				info->compressed_extent_size = intarg;
> +				printk(KERN_INFO "btrfs: compressed extent size %d\n",
> +				       info->compressed_extent_size);
> +			} else {
> +				printk(KERN_INFO "btrfs: "
> +					"Invalid compressed extent size,"
> +					" using default.\n");

I'd print the default value when it's used and would include a unit in
both.

> +	if (btrfs_test_opt(root, COMPR_EXTENT_SIZE))
> +		seq_printf(seq, ",compressed_extent_size=%d",
> +			   (unsigned long long)info->compressed_extent_size);

The (ull) cast doesn't match the %d format and wouldn't be needed if it
was printed with %u.

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


[Index of Archives]     [Linux Filesystem Development]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux