Skip to contentSkip to conversation

"nossd" option ignored

DISCUSSION Roman Mamedov 2 participants 2 messages Jun 27, 2014 Btrfs file system

lore
Share & tools
lore
#0 lore raw

Hello,

With kernel 3.14.5...

$ sudo umount /mnt/net/alpha/11
umount: /mnt/net/alpha/11: not mounted
$ sudo mount -o inode_cache,space_cache,compress=lzo,noatime,nossd,skip_balance /dev/nbd11 /mnt/net/alpha/11
$ sudo mount | grep nbd11
/dev/nbd11 on /mnt/net/alpha/11 type btrfs (rw,noatime,compress=lzo,ssd,space_cache,inode_cache,skip_balance)
$ dmesg | tail
...
[1353819.363462] BTRFS: device fsid 8cf8eff9-fd5a-4b6f-bb85-3f2df2f63c99 devid 1 transid 25041 /dev/nbd11
[1353819.364668] BTRFS info (device nbd11): enabling inode map caching
[1353819.364674] BTRFS info (device nbd11): disk space caching is enabled
[1353821.784617] BTRFS: detected SSD devices, enabling SSD mode

--
I'm certain the "nossd" option used to work (prevent the SSD mode) with this exact same configuration on older kernels. Any idea why it doesn't now?

Signature · 2 lines
With respect,
Roman
#1 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Quoted 19 lines · Roman Mamedov

Hello,

With kernel 3.14.5...

$ sudo umount /mnt/net/alpha/11
umount: /mnt/net/alpha/11: not mounted
$ sudo mount -o inode_cache,space_cache,compress=lzo,noatime,nossd,skip_balance /dev/nbd11 /mnt/net/alpha/11
$ sudo mount | grep nbd11
/dev/nbd11 on /mnt/net/alpha/11 type btrfs (rw,noatime,compress=lzo,ssd,space_cache,inode_cache,skip_balance)
$ dmesg | tail
...
[1353819.363462] BTRFS: device fsid 8cf8eff9-fd5a-4b6f-bb85-3f2df2f63c99 devid 1 transid 25041 /dev/nbd11
[1353819.364668] BTRFS info (device nbd11): enabling inode map caching
[1353819.364674] BTRFS info (device nbd11): disk space caching is enabled
[1353821.784617] BTRFS: detected SSD devices, enabling SSD mode
Quoted 4 lines

--
I'm certain the "nossd" option used to work (prevent the SSD mode) with this exact same configuration on older kernels. Any idea why it doesn't now?

Looks like it was broken by this commit in v3.14:

commit 078025347c8ed43ff330e392476d8866ac1b297f

Author: Qu Wenruo <[email protected]>
Date:   Mon Jan 13 13:36:07 2014 +0800

btrfs: Cleanup the btrfs_parse_options for remount.

due to this change:

case Opt_nossd:
- - btrfs_info(root->fs_info, "not using ssd allocation scheme");
- - btrfs_set_opt(info->mount_opt, NOSSD);
+ btrfs_clear_and_info(root, NOSSD,
+ "not using ssd allocation scheme");

                        btrfs_clear_opt(info->mount_opt, SSD);
- -                       btrfs_clear_opt(info->mount_opt, SSD_SPREAD);
                        break;

whereas "nossd" used to set the "NOSSD" option, it now tries to *clear* "NOSSD"

There seem to be other breakages as well.

Looks like mount option regression tests are needed.

Because "clear_and_info" says nothing if there's nothing to clear, you get no printk, either.

The ssd options are a mess; you can mount "-o nossd,ssd_spread" for example.

I'll send a patch to at least make it behave at least as well as before, but bleah.

- -Eric
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.17 (Darwin)
Comment: GPGTools - http://gpgtools.org
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQIcBAEBAgAGBQJTrePdAAoJECCuFpLhPd7gPAAQALBa9X7rip3xgvYESO8crwFd 4CT1+0v+4ZuHfa6EVwlpXXMTAvvt4FaRwTL9olmR9YGKx+0S5BcpXaRnDagcgRdO QMoiJ1m61CW05UlpSG0WQdJIBaMY2p7+eMs+jTi2f4mmkZd8DWF4fAiec+VU8def ntUiMPrIMX6BCIEMIg/wox94U5z5v+V4zEqt62djE2YrI3hNIReu+98TRtGgumYX 7LP3oqPoDy7hMzyzWk6gZjQG9YJuvfU8qyijSOISh/vL/wxzNU++R5sDv9rIUUJX nRJOKHnlT5ZPKgcopzWoft7Ir7dFPYM6p0vDhqsROOmpEGvKovhabzHrKYh+JwR8 MgltVu+9OdO8S54XLOboJmyIuTsANrIz3EjuNt6HJLwSjOAP6viibaNvciTxHECq 3C9rky/oBwE7cavMq5sploV0ZYRV+OuTJ5OtUJLCerpzpXWu8zH+4qMw9SGAmAVc 4BYTYtlfDn7N/b1EQucHmpsDK5H0N2MxR0FivmpdgIyL+j4EAWI65Y+OLupUf5Bn Yzzg8VYK0ohRDivf2g5AJzZ8xZPQS3rG9xl/jbwzlnyn67+uGBqWYFPTOtakLj1h 29KYyq5XR1uxaBO0eCNGlOXOAHY1t+r5WEgRx9lxrBX7qmrZVGsLZh4nihr//hME fOByY8Y+Fv9Dh47eTD5U
=oIka
-----END PGP SIGNATURE-----