diff mbox

[v2] btrfs-progs: allow "none" to disable compression for convenience

Message ID 8760cgalea.wl-satoru.takeuchi@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Satoru Takeuchi Sept. 18, 2017, 12:41 a.m. UTC
At Sun, 17 Sep 2017 14:08:40 +0100,
Mike Fleetwood wrote:
> 
> On 17 September 2017 at 01:36, Satoru Takeuchi
> <satoru.takeuchi@gmail.com> wrote:
> > It's messy to use "" to disable compression. Introduce the new value "no"
> > which can also be used for this purpose.
> 
> From an English language point of view, "none" would be better.  None
> says the absence of, where as no is more general negative.

Thank you for your comment. How about is it?

---
It's messy to use "" to disable compression. Introduce the new value "none"
which can also be used for this purpose.

Signed-off-by: Satoru Takeuchi <satoru.takeuchi@gmail.com>
---
 Documentation/btrfs-property.asciidoc | 2 +-
 props.c                               | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

Comments

David Sterba Sept. 19, 2017, 3:14 p.m. UTC | #1
On Mon, Sep 18, 2017 at 09:41:17AM +0900, Satoru Takeuchi wrote:
> At Sun, 17 Sep 2017 14:08:40 +0100,
> Mike Fleetwood wrote:
> > 
> > On 17 September 2017 at 01:36, Satoru Takeuchi
> > <satoru.takeuchi@gmail.com> wrote:
> > > It's messy to use "" to disable compression. Introduce the new value "no"
> > > which can also be used for this purpose.
> > 
> > From an English language point of view, "none" would be better.  None
> > says the absence of, where as no is more general negative.
> 
> Thank you for your comment. How about is it?
> 
> ---
> It's messy to use "" to disable compression. Introduce the new value "none"
> which can also be used for this purpose.

I'd allow both values, 'no' and 'none', similar to the mount options,
that also accept both (technically, the 'no' + anything is accepted for
disabling compression).
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Satoru Takeuchi Sept. 20, 2017, 2:03 a.m. UTC | #2
At Tue, 19 Sep 2017 17:14:27 +0200,
David Sterba wrote:
> 
> On Mon, Sep 18, 2017 at 09:41:17AM +0900, Satoru Takeuchi wrote:
> > At Sun, 17 Sep 2017 14:08:40 +0100,
> > Mike Fleetwood wrote:
> > > 
> > > On 17 September 2017 at 01:36, Satoru Takeuchi
> > > <satoru.takeuchi@gmail.com> wrote:
> > > > It's messy to use "" to disable compression. Introduce the new value "no"
> > > > which can also be used for this purpose.
> > > 
> > > From an English language point of view, "none" would be better.  None
> > > says the absence of, where as no is more general negative.
> > 
> > Thank you for your comment. How about is it?
> > 
> > ---
> > It's messy to use "" to disable compression. Introduce the new value "none"
> > which can also be used for this purpose.
> 
> I'd allow both values, 'no' and 'none', similar to the mount options,
> that also accept both (technically, the 'no' + anything is accepted for
> disabling compression).

As a result of reading "man 5 btrfs", now I prefer "no". It's used
to mean disabling compression there. On the other hand, "none" is
not used at all.

From man 5 btrfs:
===
...
FILE ATTRIBUTES
...
       compress, compress=type, compress-force, compress-force=type
           (default: off)

           Control BTRFS file data compression. Type may be specified as zlib, lzo or no (for no compression, used for remounting). If no type is specified, zlib is used. If
           compress-force is specified, all files will be compressed, whether or not they compress well.
...
       X
           no compression, permanently turn off compression on the given file, other compression mount options will not affect that
...
===

So David, please apply my v1 patcth if it looks good for you.

Thanks,
Satoru
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Satoru Takeuchi Oct. 14, 2017, 11:35 p.m. UTC | #3
At Tue, 19 Sep 2017 17:14:27 +0200,
David Sterba wrote:
> 
> On Mon, Sep 18, 2017 at 09:41:17AM +0900, Satoru Takeuchi wrote:
> > At Sun, 17 Sep 2017 14:08:40 +0100,
> > Mike Fleetwood wrote:
> > > 
> > > On 17 September 2017 at 01:36, Satoru Takeuchi
> > > <satoru.takeuchi@gmail.com> wrote:
> > > > It's messy to use "" to disable compression. Introduce the new value "no"
> > > > which can also be used for this purpose.
> > > 
> > > From an English language point of view, "none" would be better.  None
> > > says the absence of, where as no is more general negative.
> > 
> > Thank you for your comment. How about is it?
> > 
> > ---
> > It's messy to use "" to disable compression. Introduce the new value "none"
> > which can also be used for this purpose.
> 
> I'd allow both values, 'no' and 'none', similar to the mount options,
> that also accept both (technically, the 'no' + anything is accepted for
> disabling compression).

But only "no" is writtein in man 5 btrfs.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/btrfs-property.asciidoc b/Documentation/btrfs-property.asciidoc
index 7ed6a7d..786af9b 100644
--- a/Documentation/btrfs-property.asciidoc
+++ b/Documentation/btrfs-property.asciidoc
@@ -43,7 +43,7 @@  read-only flag of subvolume: true or false
 label::::
 label of device
 compression::::
-compression setting for an inode: lzo, zlib, zstd, or "" (empty string)
+compression setting for an inode: lzo, zlib, zstd, none, or "" (empty string). Both none and "" are for disabling compression.
 
 *list* [-t <type>] <object>::
 Lists available properties with their descriptions for the given object.
diff --git a/props.c b/props.c
index a7e3e96..8d85181 100644
--- a/props.c
+++ b/props.c
@@ -142,9 +142,11 @@  static int prop_compression(enum prop_object_type type,
 	memcpy(xattr_name + XATTR_BTRFS_PREFIX_LEN, name, strlen(name));
 	xattr_name[XATTR_BTRFS_PREFIX_LEN + strlen(name)] = '\0';
 
-	if (value)
+	if (value) {
+		if (!strcmp(value, "none"))
+			value = "";
 		sret = fsetxattr(fd, xattr_name, value, strlen(value), 0);
-	else
+	} else
 		sret = fgetxattr(fd, xattr_name, NULL, 0);
 	if (sret < 0) {
 		ret = -errno;