[opensuse-factory] btrfs quotas enabled by default
Hi, Could someone urgently check a default installation of the current Leap beta? btrfs qgroup show / It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus). I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 1 September 2016 at 17:57, Chris Murphy <lists@colorremedies.com> wrote:
Hi,
Could someone urgently check a default installation of the current Leap beta?
btrfs qgroup show /
It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus).
I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled.
Why can't it ship if quotas are enabled? Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2 -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 10:15 AM, Richard Brown <RBrownCCB@opensuse.org> wrote:
On 1 September 2016 at 17:57, Chris Murphy <lists@colorremedies.com> wrote:
Hi,
Could someone urgently check a default installation of the current Leap beta?
btrfs qgroup show /
It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus).
I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled.
Why can't it ship if quotas are enabled?
Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html
This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2
Change the plans. This feature is not ready for prime time. It just got it's 3rd rewrite this year. There are still problems. Upstream it's pretty much considered by everyone to be experimental. People who use it almost immediately start having problems. The Btrfs list is full of this. A user installs Tumbleweed, tried to do a simple build, and gets enospc that most of the time doesn't even give indications that the enospc is related to quotas. It took a f'n week to track down that it was due to quotas. There should be very clear messages that it's a quota being busted, not some generic enospc. That alone is a reason to not ship it in this condition. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 10:28 AM, Chris Murphy <lists@colorremedies.com> wrote:
On Thu, Sep 1, 2016 at 10:15 AM, Richard Brown <RBrownCCB@opensuse.org> wrote:
On 1 September 2016 at 17:57, Chris Murphy <lists@colorremedies.com> wrote:
Hi,
Could someone urgently check a default installation of the current Leap beta?
btrfs qgroup show /
It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus).
I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled.
Why can't it ship if quotas are enabled?
Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html
This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2
Change the plans. This feature is not ready for prime time. It just got it's 3rd rewrite this year. There are still problems. Upstream it's pretty much considered by everyone to be experimental. People who use it almost immediately start having problems. The Btrfs list is full of this.
A user installs Tumbleweed, tried to do a simple build, and gets enospc that most of the time doesn't even give indications that the enospc is related to quotas. It took a f'n week to track down that it was due to quotas. There should be very clear messages that it's a quota being busted, not some generic enospc. That alone is a reason to not ship it in this condition.
Richard, the thread you participated in on this list "Problem with BTRFS in openSUSE Tumbleweed: No space left on device" is the direct result of quotas being enabled. That's the problem. This is the start of the thread: http://www.spinics.net/lists/linux-btrfs/msg57925.html This is the traceback, that after at least a week of screwing around with the problem, finally implicates qgroups: http://www.spinics.net/lists/linux-btrfs/msg58339.html And this was that user's 2nd clean installation with a new file system created each time, so at least in that user's workload, which doesn't seem like an edge case to me, is probably asking for trouble until this is more deeply explored. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
http://snapper.io/2016/05/18/space-aware-cleanup.html "btrfs quota support looks mature enough" vs man btrfs quota: STABILITY STATUS The qgroup implementation has turned out to be quite difficult as it affects the core of the filesystem operation. The users have hit various corner cases over time, eg. wrong accounting or system instability. The situation is gradually improving but currently (4.7) there are still issues found and fixed. and then.... INHERITANCE Things get a bit more complicated when new subvolumes or snapshots are created. Which is exactly what snapper is doing by making an asston of read-only snapshots. Maybe for the time being, back off on how many snapshots are taken and retained, rather than making it a space based computation. I don't see the purpose in retaining more than three rootfs states, or more than a dozen /home states. Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi Richard, Em Qui, 2016-09-01 às 18:15 +0200, Richard Brown escreveu:
Why can't it ship if quotas are enabled?
Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html
This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2
I'm using Tumbleweed here in a workstation because I need a newer kernel than we have in Leap 42.1. However, since day 1 I had problems with ENOSPC. This started to be very annoying since this machine is supposed to be on 24/7 and sometimes only a reboot fix the ENOSPC. I would be very surprised if a machine with Leap leads to random reboots due to such issues. Actually, I have a server here with Leap 42.1, which also do the builds that usually trigger the problem, that has never shown the problem. And now I see that qgroups is not enabled there. If you are planning to enable qgroups for Leap 42.2, and nothing changes in kernel compared to Tumbleweed, I should advice to strongly consider removing qgroups and postpone this novel snapper feature. Notice that what made my report the bug was when the ENOSPC problem occurred just in the middle of a `zypper dup`, which broke my entire system. I was saved by a snapshot. Best regards, Ronan Arraes -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 11:52 AM, Ronan Arraes Jardim Chagas <ronisbr@gmail.com> wrote:
Hi Richard,
Em Qui, 2016-09-01 às 18:15 +0200, Richard Brown escreveu:
Why can't it ship if quotas are enabled?
Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html
This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2
I'm using Tumbleweed here in a workstation because I need a newer kernel than we have in Leap 42.1. However, since day 1 I had problems with ENOSPC. This started to be very annoying since this machine is supposed to be on 24/7 and sometimes only a reboot fix the ENOSPC.
I would be very surprised if a machine with Leap leads to random reboots due to such issues. Actually, I have a server here with Leap 42.1, which also do the builds that usually trigger the problem, that has never shown the problem. And now I see that qgroups is not enabled there.
If you are planning to enable qgroups for Leap 42.2, and nothing changes in kernel compared to Tumbleweed, I should advice to strongly consider removing qgroups and postpone this novel snapper feature.
Notice that what made my report the bug was when the ENOSPC problem occurred just in the middle of a `zypper dup`, which broke my entire system. I was saved by a snapshot.
Yeah none of this is your fault. If you hadn't persevered with the troubleshooting in the face of literally no one having any goddamn idea WTF was going on, we still wouldn't know. The open question though is whether Tumbleweed defaults to /home also on Btrfs, compared to Leap. Because the previous version of Leap had /home on XFS by default so far fewer users will be impacted by quotas enabled by default if /home is still on XFS. But if/when /home is on Btrfs, it'll be a problem. So that could be another way around it is to have /home remain on XFS. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi! Em Qui, 2016-09-01 às 12:10 -0600, Chris Murphy escreveu:
So that could be another way around it is to have /home remain on XFS.
AFAIK, Tumbleweed still suggest /home in XFS. However, since my sensible data relies on a separate partition with EXT4, I really don't care about and just use BTRFS for /. I think, it should be clever to print a warning for the user if he/she keeps /home in BTRFS. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi All, On 1 September 2016 at 20:10, Chris Murphy <lists@colorremedies.com> wrote:
On Thu, Sep 1, 2016 at 11:52 AM, Ronan Arraes Jardim Chagas <ronisbr@gmail.com> wrote:
Hi Richard,
Em Qui, 2016-09-01 às 18:15 +0200, Richard Brown escreveu:
Why can't it ship if quotas are enabled?
Quotas should be enabled as part of the new snapper functionality http://snapper.io/2016/05/18/space-aware-cleanup.html
This functionality is expected to ship in SLE 12 SP2 and therefore should also be present in Leap 42.2
I'm using Tumbleweed here in a workstation because I need a newer kernel than we have in Leap 42.1. However, since day 1 I had problems with ENOSPC. This started to be very annoying since this machine is supposed to be on 24/7 and sometimes only a reboot fix the ENOSPC.
I would be very surprised if a machine with Leap leads to random reboots due to such issues. Actually, I have a server here with Leap 42.1, which also do the builds that usually trigger the problem, that has never shown the problem. And now I see that qgroups is not enabled there.
What 'builds' are you doing? Why are you doing them on btrfs? Would it make more sense to do them in a subvolume and therefore immunise yourself entirely from the snapshotting of the root subvolume and the quota there? Would it make more sense to use XFS for your non-system data, like SUSE recommend, like openSUSE implements by default and I would also recommend?
If you are planning to enable qgroups for Leap 42.2, and nothing changes in kernel compared to Tumbleweed, I should advice to strongly consider removing qgroups and postpone this novel snapper feature.
I'd like to know where you and Chris get the idea that the Tumbleweed kernel has absolutely anything to do with the Leap kernel. We've been talking about Leap for over a year now. It is a/the hybrid distribution, enterprise core, community packages on top. To put it graphically, you can imagine it like this https://speakerdeck.com/sysrich/open-enterprise-and-open-community-working-t... the kernel, very clearly, is a part of that core. In Leap 42.1 the community, after some debate, decided to deviate from SLE 12 SP1's kernel in the name of hardware ennablement. That is why the 'Shared Core' box in the Leap column is smaller than in the SLE column. That is not the case for Leap 42.2, where the basic rule of thumb has been "if we can take it from SLE 12 SP2, we will take it from SLE 12 SP2" Kernel, systemd, Qt, even userspace parts like GNOME will match in Leap 42.2 and SLE 12 SP2 (in the case of GNOME, that is primarily because SUSE are also jumping their SLE GNOME to exactly where we'd want our Leap GNOME, a clear case study in the 'river flowing both ways' between openSUSE and SUSE). Leap 42.2 is based primarily on SLE 12 SP2 for it's core, and Leap 42.1 for it's community packages. If our maintainers want to update those community packages they have the OPTION of selectively pulling stuff from Tumbleweed into Leap, but as this graph clearly shows with dotted lines, this is not a complete sync, it never should be, as the whole point of Leap is stability (both in terms of 'it works' and 'it doesn't change) over potentially risky or workflow changing alterations. https://speakerdeck.com/sysrich/open-enterprise-and-open-community-working-t... So back to the point here - the Leap 42.2 kernel is the same kernel that will be released in SLE 12 SP2. That means kernel 4.4 with SUSE's Enterprise patches, and will be receiving SUSE's enterprise maintenance updates until Leap moves to something else. This is not the Tumbleweed kernel. It is not the current 4.7 Tumbleweed Kernel. It is not the Kernel you have found your issues with quotas on. It's a distant relation to the Tumbleweed 4.4 Kernel from January, but with a combination of both upstream efforts (4.4 is an upstream LTS kernel) and SUSE's efforts (as part of the aforementioned SLE 12 SP2 work) we're talking about literally tens of thousands of *changelog* entries, never mind how many tens of thousands of actual changes to the actual code of the actual kernel Leap will be using. So, while I appreciate your experience with Tumbleweed may have you concerned, your testing on Tumbleweed is invalid in the context of Leap 42.2. I would request you use the opportunity of the Beta to test the Beta, and if bugs are present, file them in bugzilla.opensuse.org against the Beta. We have no evidence at this time that the quota functionality as we have it in Leap 42.2 is not ready for use, and your opinions, while very passionately stated, are not based on information relevant to Leap 42.2.
Notice that what made my report the bug was when the ENOSPC problem occurred just in the middle of a `zypper dup`, which broke my entire system. I was saved by a snapshot.
Yeah none of this is your fault. If you hadn't persevered with the troubleshooting in the face of literally no one having any goddamn idea WTF was going on, we still wouldn't know.
The open question though is whether Tumbleweed defaults to /home also on Btrfs, compared to Leap. Because the previous version of Leap had /home on XFS by default so far fewer users will be impacted by quotas enabled by default if /home is still on XFS. But if/when /home is on Btrfs, it'll be a problem.
So that could be another way around it is to have /home remain on XFS.
Leap 42.2, like all current openSUSE and SLE distributions, defaults to btrfs as / and XFS as /home -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hi, Em Qui, 2016-09-01 às 21:11 +0200, Richard Brown escreveu:
What 'builds' are you doing? Why are you doing them on btrfs? Would it make more sense to do them in a subvolume and therefore immunise yourself entirely from the snapshotting of the root subvolume and the quota there?
I'm doing local builds using `osc` before sending them to OBS. This builds are being doing inside a jail directory within my /home. Notice that /home is indeed a subvolume. Also, if you haven't followed the entire issue, I just found a statistical coupling between the problem and local builds. There were many other occurrences in which I saw the ENOSPC while just browsing or after an idle period.
Would it make more sense to use XFS for your non-system data, like SUSE recommend, like openSUSE implements by default and I would also recommend?
This is a problem. My data stays in a separated EXT4 partition. I do not like to put my sensible data inside /home. Hence, /home, for me, it is just a part of the system in which I can delete if something goes wrong after an update due to changes in configuration files. Anyway, I pretty sure that the problem is not related to /home being BTRFS or whatever. Since I moved my jail directory to the EXT4 partition and the problem was not gone. Actually, as Matthias told me, `osc build` downloads a lot of files and put them in /var/cache, which can also be triggering the problem. Conclusion: as of now, we have no idea what triggers the problem, but we have a good evidence that an unstable feature, enabled by default in Tumbleweed, is causing it.
I'd like to know where you and Chris get the idea that the Tumbleweed kernel has absolutely anything to do with the Leap kernel.
I did not get the idea, there was an 'if' in my sentence.
So, while I appreciate your experience with Tumbleweed may have you concerned, your testing on Tumbleweed is invalid in the context of Leap 42.2.
Ok, I'm glad to see that Leap 42.2 does not have this problem, but Tumbleweed has and we have to discuss it.
I would request you use the opportunity of the Beta to test the Beta, and if bugs are present, file them in bugzilla.opensuse.org against the Beta.
Unfortunately it is not possible. This is a production machine and I could not figured out an easy way to trigger the problem. Hence, I do not have the time to test anything here. In my personal laptop, I have never faced this problem so far, but the hardware configuration and usage are completely different. Regards, Ronan Arraes -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 1:11 PM, Richard Brown <RBrownCCB@opensuse.org> wrote:
What 'builds' are you doing? Why are you doing them on btrfs? Would it make more sense to do them in a subvolume and therefore immunise yourself entirely from the snapshotting of the root subvolume and the quota there?
Would it make more sense to use XFS for your non-system data, like SUSE recommend, like openSUSE implements by default and I would also recommend?
Permission to do something in a GUI installer is by definition that which is supported and recommended, it's just that defaults are more highly recommended. It is untenable to blame the user, even a little, by not using defaults. If you think Btrfs has too many problems for /home, then inhibit the installer from allowing it. A GUI installer is a user advocate. If it betrays the user with bad advice that is the fault of the installer and its development team.
So back to the point here - the Leap 42.2 kernel is the same kernel that will be released in SLE 12 SP2. That means kernel 4.4 with SUSE's Enterprise patches, and will be receiving SUSE's enterprise maintenance updates until Leap moves to something else.
This is not the Tumbleweed kernel. It is not the current 4.7 Tumbleweed Kernel. It is not the Kernel you have found your issues with quotas on.
This is not reassuring, quite the opposite. Quota support isn't even stable in 4.7 let alone 4.4. So what you've just told me is that there is a secret decoder ring in place for the Leap and SLE kernels. I just have no idea whether you're using 4.7 backports to 4.4? Or if you're using some totally different out of tree quota code. So what's going to happen is any Leap user using a Leap kernel comes on the upstream list and people are going to say two things: 1. Disable quotas. 2. Use a vanilla stable or mainline kernel. OR Go to opensuse.org and ask your question their, it's their kernel, their tools, their defaults, their recommendations, and you can get support from them. Because no one upstream has any interest whatsoever understanding Ubuntu, CentOS, RHEL, or openSUSE Leap's secret f'n decoder ring for whatever the hell "4.4" kernel actually means when it comes to *anything* related to Btrfs.
So, while I appreciate your experience with Tumbleweed may have you concerned, your testing on Tumbleweed is invalid in the context of Leap 42.2.
It's only invalid if your quota support in the Leap kernel doesn't come from upstream code being backported. If you're using out of tree code, then you're right. If opensuse is using backports from upstream code I absolutely can extrapolate from a 4.7.x and 4.8.x kernel. People have had problems with that code base, even very recently within the past few days, and Qu is working on that.
I would request you use the opportunity of the Beta to test the Beta, and if bugs are present, file them in bugzilla.opensuse.org against the Beta.
No thanks. I don't have the time. You've received the message, do what you want with it. I've suggested your snapper defaults are crap, you guys don't listen to that, so you just want to push forward with more pathological nonsense. You're papering over the previous bad snapper behaviors with quotas instead of fixing the nutcase snapper defaults. Fine. Live with it. Trust me, if your Tumbleweed or Leap users or Btrfs get a black eye over this decision, I will be far less diplomatic about it. Neither deserve to be treated like guinea pigs just because someone is in too big of a hurry and thinks it's OK to use the community as a public beta testing pool. And even that's too diplomatic because the behavior I'm seeing with quotas doesn't even deserve the "beta" quality label yet.
We have no evidence at this time that the quota functionality as we have it in Leap 42.2 is not ready for use, and your opinions, while very passionately stated, are not based on information relevant to Leap 42.2.
If you think it's ready, put these defaults on your build systems before subjecting your hapless users to it. When anyone asks on linux-btrfs@ about quota support, without fail the list response is, use XFS (or even ext4) because it has stable quota support, Btrfs doesn't. The best way to characterize it, is that it's ready for testing. So if that's what you meant, that's what you should be saying rather than treating me like a moron which is *exactly* what you're doing when you say there's no evidence it's not ready for use, because there is ample evidence upstream. No upstream developer has ever said it's stable, use it. They've only said test it. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 5:34 PM, Chris Murphy <lists@colorremedies.com> wrote:
So, while I appreciate your experience with Tumbleweed may have you concerned, your testing on Tumbleweed is invalid in the context of Leap 42.2.
It's only invalid if your quota support in the Leap kernel doesn't come from upstream code being backported. If you're using out of tree code, then you're right.
If opensuse is using backports from upstream code I absolutely can extrapolate from a 4.7.x and 4.8.x kernel. People have had problems with that code base, even very recently within the past few days, and Qu is working on that.
I just want to re-iterate that the my 42.2 test machine has quota enabled. And no, I didn't do it. But I did install it from the first alpha release, then update from there. Greg -- Greg Freemyer Upset at the Hillary/Trump choice Don't get mad, get Evan Evan (Never Trump) McMullin for President www.IntelligentAvatar.net -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Thu, Sep 1, 2016 at 1:11 PM, Richard Brown <RBrownCCB@opensuse.org> wrote:
Leap 42.2, like all current openSUSE and SLE distributions, defaults to btrfs as / and XFS as /home
By default I'm getting /home as a subvolume on Btrfs. I'm using openSUSE-Leap-42.2-DVD-x86_64-Build0164-Media.iso in a virt-manager VM with a 12GiB qcow2 as backing. screenshot.jpg https://drive.google.com/open?id=0B_2Asp8DGjJ9RnRWNDNTdTVPZGs y2log.gz https://drive.google.com/open?id=0B_2Asp8DGjJ9eHFEM1VGNEtrSWM -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 09/02/2016 05:29 PM, Chris Murphy wrote:
On Thu, Sep 1, 2016 at 1:11 PM, Richard Brown <RBrownCCB@opensuse.org> wrote:
Leap 42.2, like all current openSUSE and SLE distributions, defaults to btrfs as / and XFS as /home
By default I'm getting /home as a subvolume on Btrfs. I'm using openSUSE-Leap-42.2-DVD-x86_64-Build0164-Media.iso in a virt-manager VM with a 12GiB qcow2 as backing.
screenshot.jpg https://drive.google.com/open?id=0B_2Asp8DGjJ9RnRWNDNTdTVPZGs
y2log.gz https://drive.google.com/open?id=0B_2Asp8DGjJ9eHFEM1VGNEtrSWM
I'm pretty sure that the /home subvolume is a bug. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2016-09-03 01:58, Roman Bysh wrote:
I'm pretty sure that the /home subvolume is a bug.
The proposal I got when installing under vmplayer, with a 20 GB virtual disk, was 1 GB swap, and the rest one btrfs single filesystem. On proposal adjustments, the tick for separate /home was Off. I erased that automatic proposal and used my own expert settings instead (ext4), so I can not say what subvolumes it would have applied. - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iF4EAREIAAYFAlfKFWYACgkQja8UbcUWM1yotwD/b6rtHrHMZtwHGAnDHnEK5dFy 6aRusPSXiB5LhaozDE8A/1kvkq26mNpH2DtRUIgQ7iIKsl8+0jbcPLc/2E99KmVg =AKgo -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, Sep 2, 2016 at 5:58 PM, Roman Bysh <rbtc1@rogers.com> wrote:
On 09/02/2016 05:29 PM, Chris Murphy wrote:
On Thu, Sep 1, 2016 at 1:11 PM, Richard Brown <RBrownCCB@opensuse.org> wrote:
Leap 42.2, like all current openSUSE and SLE distributions, defaults to btrfs as / and XFS as /home
By default I'm getting /home as a subvolume on Btrfs. I'm using openSUSE-Leap-42.2-DVD-x86_64-Build0164-Media.iso in a virt-manager VM with a 12GiB qcow2 as backing.
screenshot.jpg https://drive.google.com/open?id=0B_2Asp8DGjJ9RnRWNDNTdTVPZGs
y2log.gz https://drive.google.com/open?id=0B_2Asp8DGjJ9eHFEM1VGNEtrSWM
I'm pretty sure that the /home subvolume is a bug.
It's related to the size of the target. Whether it's a bug or not I can't say, but if the idea is really that /home is recommended to be XFS, then below that minimum size the entire installation should be XFS. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 On 2016-09-03 02:20, Chris Murphy wrote:
It's related to the size of the target. Whether it's a bug or not I can't say, but if the idea is really that /home is recommended to be XFS, then below that minimum size the entire installation should be XFS.
It certainly makes sense to have a single partition when disk space is small, but it doesn't make sense to have it as btrfs (because of space needed by snapshots). I would choose ext4, though. - -- Cheers / Saludos, Carlos E. R. (from 13.1 x86_64 "Bottle" (Minas Tirith)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) iF4EAREIAAYFAlfKGKEACgkQja8UbcUWM1xS6gD+JU2ZoXaxFPMLfJhEbCR8j8rW 8LhX2eDdNeIdigQMxBgBAIuV8sTrV34fIAzHT3guhvM/olwjBLiJ+ki7+6C5P0Rq =ZfmF -----END PGP SIGNATURE----- -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, Sep 2, 2016 at 6:26 PM, Carlos E. R. <robin.listas@telefonica.net> wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256
On 2016-09-03 02:20, Chris Murphy wrote:
It's related to the size of the target. Whether it's a bug or not I can't say, but if the idea is really that /home is recommended to be XFS, then below that minimum size the entire installation should be XFS.
It certainly makes sense to have a single partition when disk space is small, but it doesn't make sense to have it as btrfs (because of space needed by snapshots). I would choose ext4, though.
Snapshots weren't setup on this small target installation either. If the mkfs option included -M, it'd be even better optimized for VMs. But there does seem to be a minor disconnect between /home on XFS is recommended...except when it's on a small target. -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
thats what I get on snapshot 20160831: btrfs qgroup show / qgroupid rfer excl -------- ---- ---- 0/5 16.00KiB 16.00KiB 0/257 16.00KiB 16.00KiB 0/258 1.17MiB 1.17MiB 0/259 9.35GiB 4.82MiB 0/260 16.00KiB 16.00KiB 0/261 1.24MiB 1.24MiB 0/262 5.18GiB 5.18GiB 0/263 3.07MiB 3.07MiB 0/264 219.82MiB 219.82MiB 0/265 16.00KiB 16.00KiB 0/266 16.00KiB 16.00KiB 0/267 16.00KiB 16.00KiB 0/268 16.00KiB 16.00KiB 0/269 16.00KiB 16.00KiB 0/270 16.00KiB 16.00KiB 0/271 16.00KiB 16.00KiB 0/272 1.17GiB 1.17GiB 0/273 16.00KiB 16.00KiB 0/274 256.00KiB 256.00KiB 0/275 191.83MiB 191.83MiB 0/1303 9.23GiB 756.00KiB 0/1304 9.28GiB 8.62MiB 0/1319 9.23GiB 3.09MiB 0/1320 9.23GiB 7.06MiB 0/1367 9.27GiB 16.04MiB 0/1368 9.48GiB 49.37MiB 0/1416 9.27GiB 16.66MiB 0/1417 9.28GiB 6.82MiB 0/1419 9.27GiB 336.00KiB 0/1420 9.27GiB 7.34MiB 0/1509 9.28GiB 824.00KiB 0/1510 9.28GiB 576.00KiB 0/1511 9.28GiB 888.00KiB 0/1512 9.28GiB 512.00KiB 0/1513 9.28GiB 512.00KiB 0/1514 9.28GiB 644.00KiB 0/1515 9.28GiB 1.05MiB 0/1516 9.28GiB 16.00KiB 0/1517 9.28GiB 16.00KiB 0/1518 9.28GiB 112.00KiB 0/1519 9.28GiB 192.00KiB 0/1520 9.24GiB 256.00KiB 0/1521 9.28GiB 40.20MiB 0/1522 9.24GiB 692.00KiB 0/1523 9.24GiB 516.00KiB 0/1524 9.24GiB 180.00KiB 0/1525 9.24GiB 16.00KiB 0/1526 9.24GiB 16.00KiB 0/1527 9.24GiB 80.00KiB 0/1528 9.24GiB 128.00KiB 0/1529 9.24GiB 164.00KiB 0/1530 9.24GiB 128.00KiB 0/1531 9.24GiB 812.00KiB 0/1532 9.24GiB 112.00KiB 0/1533 9.24GiB 96.00KiB 0/1534 9.24GiB 4.42MiB 0/1535 9.24GiB 80.00KiB 0/1536 9.24GiB 360.00KiB 0/1537 9.24GiB 800.00KiB 0/1538 9.24GiB 11.20MiB 0/1539 9.23GiB 340.00KiB 0/1540 9.23GiB 276.00KiB 0/1541 9.23GiB 212.00KiB 0/1542 9.23GiB 160.00KiB 0/1543 9.23GiB 160.00KiB 0/1544 9.23GiB 160.00KiB 0/1545 9.23GiB 160.00KiB 0/1546 9.23GiB 208.00KiB 0/1547 9.23GiB 208.00KiB 0/1548 9.25GiB 19.22MiB 0/1549 9.24GiB 416.00KiB 0/1550 9.24GiB 288.00KiB 0/1551 9.23GiB 608.00KiB 0/1552 9.23GiB 336.00KiB 0/1553 9.23GiB 788.00KiB 0/1554 9.23GiB 240.00KiB 0/1555 9.29GiB 1.29MiB 0/1556 9.28GiB 160.00KiB 0/1557 9.28GiB 160.00KiB 0/1558 9.28GiB 1.17MiB 0/1559 9.29GiB 164.00KiB 0/1560 9.29GiB 16.00KiB 0/1561 9.29GiB 16.00KiB 0/1562 9.29GiB 176.00KiB 0/1563 9.22GiB 2.71MiB 0/1564 9.22GiB 112.00KiB 0/1565 9.22GiB 112.00KiB 0/1566 9.22GiB 148.00KiB 0/1567 9.22GiB 684.00KiB 0/1569 9.22GiB 176.00KiB 0/1570 9.38GiB 15.38MiB 0/1571 9.37GiB 256.00KiB 0/1572 9.37GiB 176.00KiB 0/1573 9.37GiB 176.00KiB 0/1574 9.37GiB 224.00KiB 0/1575 9.34GiB 820.00KiB 0/1577 9.34GiB 240.00KiB 1/0 15.74GiB 10.86GiB On Donnerstag, 1. September 2016 09:57:04 CEST Chris Murphy wrote:
Hi,
Could someone urgently check a default installation of the current Leap beta?
btrfs qgroup show /
It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus).
I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled.
On 9/1/16 11:57 AM, Chris Murphy wrote:
Hi,
Could someone urgently check a default installation of the current Leap beta?
btrfs qgroup show /
It seems at least one user has found in Tumbleweed that Btrfs quotas are enabled by default, and experiencing bogus enospc as a result (actually they're the result of quotas so they aren't entirely bogus).
I don't know how this happened, and I'm actually very curious how it happened. But the priority is to find out if Leap has them enabled by default and if so what's doing that so it can be reverted. It's bad to do this in Tumbleweed, but it's a blocker bug for Leap. It can't ship if quotas are enabled.
Just an update here, for those following along at home. I responded to this issue this morning on the btrfs list. Since Chris hasn't relayed that or updated his "qgroups are unstable, the sky is falling", posts I couldn't let it go unaddressed. Qgroups are enabled to allow snapper to make better decisions about which snapshots to remove automatically. To do this, we only need the qgroups tracking data. We do *nothing* with automatically adding or enforcing limits using them. In a later post, Chris claims that snapper doesn't do this and in fact uses FIEMAP and INO_LOOKUP. He's incorrect[1,2]. The feature request for this is for SLES and not public, but since there is a portion of the community that seems to believe that we're just tossing this out there without any testing and with kind of a "oh neat, a shiny toy" approach -- it might be helpful to know that the feature was first requested 4 years ago and was rejected for 5 SLE releases (service packs and GA releases) before we finally enabled it for SLE12 SP2 (and, as a result, Leap and Tumbleweed.) There is always pressure to release a feature but if it's not ready, we don't do it. We still don't allow RAID5/6 or device replace in SLES because we don't trust them, among several other features. Stability is something we take seriously. That said, the system will function just fine without qgroups enabled. Snapper just won't be able to use that information. The issue the user ran into was not *at all* caused by qgroups. The only involvement was a harmless WARN_ON. That needs to be fixed, but as I said, it's harmless. That it appeared at all was a side effect of the root cause, which is that his file system is throwing ENOSPC when it shouldn't. That's an issue that we'll start investigating on Tuesday after we return from the long weekend in the US. Without the root cause, I can't yet say what other releases might show similar problems or how widespread it might be. Anecdotal reports in the btrfs list thread seem to indicate that, even with a similar workload on the same release, it's not necessarily a common, reproducible scenario. What follows are links to my posts to the linux-btrfs lists with the important bits included below. The analysis of the original issue: http://www.spinics.net/lists/linux-btrfs/msg58410.html """ Ok, so I think this is a race that can happen when one thread is starting a transaction and another thread is committing a transaction that involves creating a snapshot. We reserve blocks at the top of start_transaction and that reservation stays with the root. In: btrfs_commit_transaction-> create_pending_snapshots-> create_pending_snapshot-> qgroup_account_snapshot-> commit_fs_roots, we clear that reservation from the root via btrfs_qgroup_free_meta_all, potentially while start_transaction is waiting to join a new transaction. Or not. It can happen asynchronously, which is the point of having the reservation prior to that. So the thing is that this error can only occur if start_transaction fails after this race occurs. That, combined with your report that you were seeing ENOSPC instead of EDQUOT, leads me to believe that this is just a side effect of whatever is causing you to not hit ENOSPC. I expect that you'll see it again -- you just won't see the WARN_ON anymore since quotas are disabled. I suspect it's probably the btrfs_block_rsv_add call immediately after the reservation, but there's no way to tell without tracing. """ A followup from Ronan showed this to be the case -- the problem still occurs, but he doesn't see the WARN_ON anymore. And here's an outline of how we test qgroups and why we believe them to be stable: http://www.spinics.net/lists/linux-btrfs/msg58411.html """ We, like every other group of file system developers, run xfstests pretty religiously. Since qgroups are becoming a bigger part of the btrfs experience for our products, we test them specifically. Yes, there are xfstests /just/ for qgroups, but we also make it a point to run the entire xfstests suite with and without qgroups enabled. Since the requirement for snapper was to have accurate space tracking, that's what we've focused on. I obviously can't open up the SLES bugzilla to the world, so you're going to have to take my word on this. For our 4.4-based kernel there are currently 3 qgroup related bugs. The first is a report about how annoying it is to see old qgroup items for removed subvolumes. The second is an accounting bug that is old and the developer just hasn't gotten around to closing it yet. The third is a real issue, where users can hit the qgroup limit and are then stuck, similar to how it used to be when you'd hit ENOSPC and couldn't remove files or subvolumes. My gut feeling is that it's the same kind of problem: Removing files involves allocating blocks to CoW the metadata and when you've hit your quota limit, you can't allocate the blocks. I expect the solution will be similar to the ENOSPC issue except that rather than keeping a pool around, we can just CoW knowing full well the intention is to release space. My team is working on that today and I expect a fix shortly. """ -Jeff [1] https://github.com/openSUSE/snapper [2] https://github.com/openSUSE/snapper/commit/4d94edfd6189a6035011a85c55f2771e6... -- this is the one that sticks out the most, but it's not the only qgroups-related commit -- Jeff Mahoney SUSE Labs
Hi Jeff! Thanks for the enlightening e-mail. It was clear that the qgroups were not the root cause of my issue as you said. I can confirm that even without this feature, the bug still happens in the same frequency. I am glad to know a little bit more how things work with SLE and, now, with Leap. Unfortunately, I will also not be able to change my distro from TW to Leap because I need kernel 4.6 at least. But I do have a side question: I understood that SLE and Leap do not seem to have any major problems with qgroups, but, since Tumbleweed use almost a vanilla kernel w.r.t. BTRFS, should it can also be considered stable there? Back to my bug, one thing that **always** happens is that after the discussed problem, the metadata increases **a lot** (I saw something like 80 GiB once). Hence, is there any kind of configuration to fix the minimum metadata size? If it is, do you think that I can get rid of those ENOSPC by fixing a very high limit, such as 300 GiB? Ah! I think I forgot to mention one very important thing: I have been using Tumbleweed+BTRFS on this machine for a very very very long time. I think I installed it just after it changed to the current model. By that time, I was using the same machine but without one peripheral that requires a "new" kernel (HDD, processor, RAM, everything was the same). AFAIK, the first time I saw that problem was this year. So, I think it must be a regression after some kernel / btrfs-progs update. Best regards, Ronan Arraes -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 9/2/16 10:43 PM, Ronan Arraes Jardim Chagas wrote:
Hi Jeff!
Thanks for the enlightening e-mail. It was clear that the qgroups were not the root cause of my issue as you said. I can confirm that even without this feature, the bug still happens in the same frequency.
I am glad to know a little bit more how things work with SLE and, now, with Leap. Unfortunately, I will also not be able to change my distro from TW to Leap because I need kernel 4.6 at least. But I do have a side question: I understood that SLE and Leap do not seem to have any major problems with qgroups, but, since Tumbleweed use almost a vanilla kernel w.r.t. BTRFS, should it can also be considered stable there?
Yes. The thing with the SLES btrfs implementation is that it tends to differ broadly from the kernel version number that uname -r shows but not very much from upstream. In fact, the only patches we have applied to the 4.4-based SLE12-SP2/Leap kernel are backports and patches we've submitted upstream, plus the patch to disable unsupported features and the patches to export the per-root anon device via stat(). So, yes, I expect that qgroups should be stable on Tumbleweed as well but I haven't had time to test it the way we have for SLE12 SP2.
Back to my bug, one thing that **always** happens is that after the discussed problem, the metadata increases **a lot** (I saw something like 80 GiB once). Hence, is there any kind of configuration to fix the minimum metadata size? If it is, do you think that I can get rid of those ENOSPC by fixing a very high limit, such as 300 GiB?
The minimum metadata size? I'm not sure what you mean here. Usually the weird ENOSPC cases are miscalculated reservations, or perhaps not taking into account that new block groups can be created.
Ah! I think I forgot to mention one very important thing: I have been using Tumbleweed+BTRFS on this machine for a very very very long time. I think I installed it just after it changed to the current model. By that time, I was using the same machine but without one peripheral that requires a "new" kernel (HDD, processor, RAM, everything was the same). AFAIK, the first time I saw that problem was this year. So, I think it must be a regression after some kernel / btrfs-progs update.
I expect that it's a regression as well, but without diagnosing it, I can't really say. -Jeff -- Jeff Mahoney SUSE Labs
On Fri, Sep 2, 2016 at 8:17 PM, Jeff Mahoney <jeffm@suse.com> wrote:
Qgroups are enabled to allow snapper to make better decisions about which snapshots to remove automatically. To do this, we only need the qgroups tracking data. We do *nothing* with automatically adding or enforcing limits using them. In a later post, Chris claims that snapper doesn't do this and in fact uses FIEMAP and INO_LOOKUP.
No, that was in response to Andrei about what 'btrfs filesystem du' is using, not snapper. The implicit question is why snapper can't use the same ioctl 'fi du' is using, instead of qgroups.
He's incorrect[1,2]. The feature request for this is for SLES and not public, but since there is a portion of the community that seems to believe that we're just tossing this out there without any testing and with kind of a "oh neat, a shiny toy" approach -- it might be helpful to know that the feature was first requested 4 years ago and was rejected for 5 SLE releases (service packs and GA releases) before we finally enabled it for SLE12 SP2 (and, as a result, Leap and Tumbleweed.) There is always pressure to release a feature but if it's not ready, we don't do it.
What makes this challenging to accept with 100% confidence, is snapper's long standing defaults instigating enospc problems. Yes, enospc is a file system bug, not asnapper bug. But it unquestionably was adding fuel to the fire in the form of an *extremely* aggressive snapshot creation and retention behavior in the form of hundreds of snapshots. But instead of being recognized as needing toning down, a.) the user was passively blamed by telling them they can just change snapper's configuration, b.) not acknowledging the total lack of use case for so many OS states being retained and for so long; and now c.) enabling quotas silently, just makes it seems like doubling down and papering over previous excesses instead of a simple mea culpa. Further making this challenging to accept at face value is the most recent brfs-progs 4.7.1 available upstream has very conservative language when it comes to quotas: PERFORMANCE IMPLICATIONS When the quotas are turned on, they affect all extent processing, taking a performance hit. It is not recommended to turn on qgroups unless the user intends to actually use them STABILITY STATUS The qgroup implementation has turned out to be quite difficult as it affects the core of the filesystem operation. The users have hit various corner cases over time, eg. wrong accounting or system instability. The situation is gradually improving but currently (4.7) there are still issues found and fixed. I don't see how these notes get recognized if (open)suse is using quota code substantially similar to upstream. Only if your code base is substantially different can you convincingly say you have no performance or stability concerns. Therefore it brings me right back to why snapper can't do things differently? a.) tone down the frequency of snapshots, and/or the retention time/quantity; b.) use the ioctl's being used by btrfs fi du instead of enabling quotas? Why the hard dependency on enabling quotas? It really strikes me as snapper being fundamentally flawed that it can't clean up after itself any better than it does unless quotas are enabled for accounting.
The issue the user ran into was not *at all* caused by qgroups.
I'll take your word for it. However, there are other opinions on the issue of qgroups aside from the one user with a mysterious enospc problem. http://www.spinics.net/lists/linux-btrfs/msg58385.html -- Chris Murphy -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Fri, Sep 02, 2016 at 09:36:31PM -0600, Chris Murphy wrote:
On Fri, Sep 2, 2016 at 8:17 PM, Jeff Mahoney <jeffm@suse.com> wrote:
Qgroups are enabled to allow snapper to make better decisions about which snapshots to remove automatically. To do this, we only need the qgroups tracking data. We do *nothing* with automatically adding or enforcing limits using them. In a later post, Chris claims that snapper doesn't do this and in fact uses FIEMAP and INO_LOOKUP.
No, that was in response to Andrei about what 'btrfs filesystem du' is using, not snapper.
The implicit question is why snapper can't use the same ioctl 'fi du' is using, instead of qgroups.
snapper could use 'fi du' concept but it does not due for performance. Without quota groups snapper would have to iterate through every snapshot (that is a candidate to be deleted) and lookup every file, lookup backrefs and alike. Just compare the time of e.g. 'btrfs quota rescan -w / ; btrfs qgroup show -p /' and 'btrfs filesystem du -s /.snapshots/*' to get a feeling for the difference. On my test system (virtual machine with small installation and only 10 snapshots) it is 2 seconds vs. 3 minutes (with hot caches). Regards, Arvin -- Arvin Schnell, <aschnell@suse.com> Senior Software Engineer, Research & Development SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nürnberg) Maxfeldstraße 5 90409 Nürnberg Germany -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 9/2/16 11:36 PM, Chris Murphy wrote:
On Fri, Sep 2, 2016 at 8:17 PM, Jeff Mahoney <jeffm@suse.com> wrote:
Qgroups are enabled to allow snapper to make better decisions about which snapshots to remove automatically. To do this, we only need the qgroups tracking data. We do *nothing* with automatically adding or enforcing limits using them. In a later post, Chris claims that snapper doesn't do this and in fact uses FIEMAP and INO_LOOKUP.
No, that was in response to Andrei about what 'btrfs filesystem du' is using, not snapper.
The implicit question is why snapper can't use the same ioctl 'fi du' is using, instead of qgroups.
Arvin provided the answer in a separate post. What you're not getting is that qgroups is the standard file system method to track extent usage on a subvolume level. In my opinion, this information should be tracked on every file system since it's information *every* user wants. We just don't have good tools to provide it and, ideally, it should be provided using standard tools like 'df.' The biggest current use, for us, is for snapper but it's not the only planned use.
He's incorrect[1,2]. The feature request for this is for SLES and not public, but since there is a portion of the community that seems to believe that we're just tossing this out there without any testing and with kind of a "oh neat, a shiny toy" approach -- it might be helpful to know that the feature was first requested 4 years ago and was rejected for 5 SLE releases (service packs and GA releases) before we finally enabled it for SLE12 SP2 (and, as a result, Leap and Tumbleweed.) There is always pressure to release a feature but if it's not ready, we don't do it.
What makes this challenging to accept with 100% confidence, is snapper's long standing defaults instigating enospc problems. Yes, enospc is a file system bug, not asnapper bug. But it unquestionably was adding fuel to the fire in the form of an *extremely* aggressive snapshot creation and retention behavior in the form of hundreds of snapshots. But instead of being recognized as needing toning down, a.) the user was passively blamed by telling them they can just change snapper's configuration, b.) not acknowledging the total lack of use case for so many OS states being retained and for so long; and now c.) enabling quotas silently, just makes it seems like doubling down and papering over previous excesses instead of a simple mea culpa.
You're making a lot of assumptions here which are personal opinions and treating them as concrete fact. The way snapper handles snapshot creation may not be what *you* want to see, but it serves a purpose. The thing is that on a per-snapshot basis, having lots of tightly coupled snapshots doesn't use a ton of disk space. You could have a thousand snapshots taken a second apart and it wouldn't use much more disk space than having two taken a thousand seconds apart unless there was a huge churn in the middle that wasn't reflected in the final state. That's the main benefit of btrfs: snapshots are cheap, both in time spent creating them and in disk space used to store them. It's the divergence between snapshots that takes up the disk space, and so you could have a single snapshot taken 6 months ago and you may have more or less the same amount of space pinned on the file system. So, no, I view your blaming snapper's snapshot policy as a bit of a red herring. It entirely depends on the workload. And your typical root file system doesn't have a very active write/delete workload outside of software updates and /tmp (which we don't snapshot). I'm willing to admit that a Tumbleweed system running a nightly automated 'zypper dup' would be pretty much the pathological case for this, though. That's why it's a default policy and not a hard coded policy. So, moving beyond your assertion that snapper is "extremely aggressive" and on to "not acknowledging the total lack of use case for so many OS states being retained." We have as a primary feature for SLE12, which I believe is also available on Tumbleweed, the ability to select any snapshot and boot from it with the option of rolling your entire system back to that state, with logs, databases, etc excepted. This might not be a feature *YOU* personally want, but it is one that our customers want and use regularly. Taking snapshots as part of system change transactions is a pretty obvious place to do that. Similarly, time-based snapshots are pretty standard as well. And lastly, your assertion that we're "doubling down" and "papering over" mistakes rings pretty hollow in the context I've outlined above.
Further making this challenging to accept at face value is the most recent brfs-progs 4.7.1 available upstream has very conservative language when it comes to quotas:
PERFORMANCE IMPLICATIONS When the quotas are turned on, they affect all extent processing, taking a performance hit. It is not recommended to turn on qgroups unless the user intends to actually use them STABILITY STATUS The qgroup implementation has turned out to be quite difficult as it affects the core of the filesystem operation. The users have hit various corner cases over time, eg. wrong accounting or system instability. The situation is gradually improving but currently (4.7) there are still issues found and fixed.
I don't see how these notes get recognized if (open)suse is using quota code substantially similar to upstream. Only if your code base is substantially different can you convincingly say you have no performance or stability concerns.
We have some concerns but not in the vein of stability. Any quota system has performance overhead. It's the nature of tracking more information taking more time/space than not tracking it. In the qgroup case, there does exist a significant performance issue when the number of backreferences to a single extent grows too large -- they're tracked as a list and there's an O(n^2) algorithm in the middle of it. Fortunately, that isn't a case many users hit on live systems and I'm working on a fix for it. So, maybe I haven't convinced you, but I've stated our testing regimen and our belief that it's stable. Ultimately, I'm the one who has to respond to bug reports against them and deal with any fallout, and I sleep pretty well.
Therefore it brings me right back to why snapper can't do things differently? a.) tone down the frequency of snapshots, and/or the retention time/quantity; b.) use the ioctl's being used by btrfs fi du instead of enabling quotas? Why the hard dependency on enabling quotas? It really strikes me as snapper being fundamentally flawed that it can't clean up after itself any better than it does unless quotas are enabled for accounting.
Again, Arvin explained the reasoning for using qgroups. What you seem to be missing is that this *is* snapper cleaning up after itself using information the file system can provide efficiently. Unused disk space is wasted disk space, and if you say you want your file system to have 30% head space above any snapshots, we need the allocation information to know how to honor that guarantee. Removing snapshots until we were under 30% is pretty frustrating for the user when you can't tell them ahead of time which snapshots are getting tossed.
The issue the user ran into was not *at all* caused by qgroups.
I'll take your word for it.
However, there are other opinions on the issue of qgroups aside from the one user with a mysterious enospc problem. http://www.spinics.net/lists/linux-btrfs/msg58385.html
Yep, that's an opinion alright. Well spotted. -Jeff -- Jeff Mahoney SUSE Labs
Hi guys! I will use this thread to ask something. In my laptop (a different machine of that in which I am seeing the ENOSPC problem), sometimes my system becomes **very** unresponsive. If I look at `dmesg`, I see: [ 302.308379] BTRFS info (device sda3): qgroup scan completed (inconsistency flag cleared) [ 306.726728] BTRFS info (device sda3): relocating block group 73740058624 flags 1 [ 311.528959] BTRFS info (device sda3): found 1859 extents [ 409.422585] BTRFS info (device sda3): found 1859 extents [ 411.560589] BTRFS info (device sda3): relocating block group 46560968704 flags 1 [ 418.942714] BTRFS info (device sda3): found 8996 extents [ 484.248612] BTRFS info (device sda3): found 8996 extents [ 486.508628] BTRFS info (device sda3): relocating block group 75887542272 flags 2 [ 486.902321] BTRFS info (device sda3): relocating block group 76994838528 flags 2 [ 487.111461] BTRFS info (device sda3): relocating block group 77028392960 flags 2 [ 487.297736] BTRFS info (device sda3): relocating block group 77061947392 flags 2 [ 487.511213] BTRFS info (device sda3): relocating block group 77095501824 flags 2 [ 487.653164] BTRFS info (device sda3): relocating block group 68337795072 flags 4 [ 543.867810] BTRFS info (device sda3): found 16360 extents In this case, I do not want to disable quotas because in this laptop I can test features and help fix bugs. Can anyone tell me if this behavior is normal? I'm using a SSD here. Best regards, Ronan Arraes -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Ronan Arraes Jardim Chagas writes:
I will use this thread to ask something. In my laptop (a different machine of that in which I am seeing the ENOSPC problem), sometimes my
That's the rebalance part of the btrfs maintenance scripts.
In this case, I do not want to disable quotas because in this laptop I can test features and help fix bugs. Can anyone tell me if this behavior is normal? I'm using a SSD here.
I think it is, although it would surely be welcome if it didn't freeze the machine for some seconds. Unless you see the tell-tale activity in the load monitor you're likely to think that the machine has crashed. Regards, Achim. -- +<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+ SD adaptation for Waldorf microQ V2.22R2: http://Synth.Stromeko.net/Downloads.html#WaldorfSDada -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (11)
-
Achim Gratz
-
Arvin Schnell
-
C. R. Oldham
-
Carlos E. R.
-
Chris Murphy
-
Greg Freemyer
-
Jeff Mahoney
-
Richard Brown
-
Robby Engelmann
-
Roman Bysh
-
Ronan Arraes Jardim Chagas