From: Gao Xiang <hsiangkao@linux.alibaba.com>
To: Yafang Shao <laoar.shao@gmail.com>
Cc: miklos@szeredi.hu, amir73il@gmail.com,
linux-unionfs@vger.kernel.org, fuweid89@gmail.com
Subject: Re: [PATCH] ovl: Allow changing default fsync_mode
Date: Tue, 23 Jun 2026 17:49:14 +0800 [thread overview]
Message-ID: <7f9e379c-186d-41de-926d-bfc020e6c87c@linux.alibaba.com> (raw)
In-Reply-To: <CALOAHbAKVF7bLcT_RA8xP8djkSFBXfQiw8h=jCs_-jknnqHioQ@mail.gmail.com>
On 2026/6/23 17:34, Yafang Shao wrote:
> On Tue, Jun 23, 2026 at 5:25 PM Gao Xiang <hsiangkao@linux.alibaba.com> wrote:
>>
>>
>>
>> On 2026/6/23 17:15, Yafang Shao wrote:
>>> On Tue, Jun 23, 2026 at 5:00 PM Gao Xiang <hsiangkao@linux.alibaba.com> wrote:
>>>>
>>>>
>>>>
>>>> On 2026/6/23 16:43, Yafang Shao wrote:
>>>>> We have enabled "volatile" fsync_mode on our Kubernetes production
>>>>> environment to prevent container exit from being blocked when there
>>>>> are many dirty pages to flush. This has worked well without introducing
>>>>> any issues.
>>>>>
>>>>> However, on some of our production servers, upgrading the container
>>>>> runtime to support the "volatile" mount option is not straightforward [0].
>>>>> To address this, we want to enable it by default within the kernel.
>>>>
>>>> Just a side note: "upgrade the container runtime is not
>>>> straightforward", how? it seems that issue is already resolved and
>>>> there is no more discussion.
>>>
>>> We still have many production servers running Docker, while the
>>> "volatile" mount option is only supported by containerd. Upgrading
>>> from Docker to containerd is a difficult process.
>>
>> But docker can be patched too: if upgrading the userspace is
>> hard, why upgrading the linux kernel is easy?
>
> It is quite easy since the kernel can be livepatched without
> rebooting. My employer is a heavy livepatch user. [1]
>
> [1]. https://lore.kernel.org/live-patching/
It's just a generic opinion, in general, docker can be live
upgraded without pausing the containers, and upgrading
userspace is easier / safer than patching the kernel.
>
>>
>>>
>>>>
>>>> Not quite sure applying a default volatile policy is quite feasible,
>>>> especially the issue documented in
>>>> https://github.com/containerd/containerd/pull/10274/files#diff-9239161e2af83fd84df5792f9fe64701c517fe4598eae60d4d245d039955f46cR33
>>>>
>>>> then userspace cannot drop `volatile` option as a somewhat
>>>> workaround now.
>>>
>>> OS vendors can still set "auto" as the default config, while customers
>>> can override it dynamically via sysfs. We have been running with
>>> "volatile" on many production servers across different workloads for
>>> over a year, and it has worked as expected without any issues.
>>
>> but sysfs setting still applies as system-wide, and there
>> are some edge cases that we cannot apply volatile as
>> default, that is my one concern.
>
> It is unclear whether there are mixed workloads on the same server
> that require both "volatile" and "strict" modes, but we have not
> encountered such use cases across our large fleet of servers.
At least containerd needs to strip out `volatile` in some use cases,
again see:
https://github.com/containerd/containerd/pull/9555
https://github.com/containerd/containerd/pull/10274/files#diff-9239161e2af83fd84df5792f9fe64701c517fe4598eae60d4d245d039955f46cR33
So set `volatile` as default will break userspace (containerd),
and containerd needs to add another mount option to avoid the
default `volatile` behavior, which is messy and makes the
userspace more harder.
>
>>
>> The other concern is that since `volatile` omits fsync, so
>> it's a posix violation (even that makes sense for container
>> writable layers), not sure if we have to use it as the
>> system-wide default configuration too.
>
> We have use cases for setting this as a system-wide configuration. It
> is unclear whether others have similar needs.
While I cannot speak out of overlayfs, but really it depends
on if the use cases is generic.
Usually filesystems need to obey posix semantics as much as
possible, and using specific mount option to relax (violate)
some restriction, but it shouldn't be a system-wide stuff
since otherwise user applications cannot know if they really
live in the posix world.
Thanks,
Gao Xiang
>
next prev parent reply other threads:[~2026-06-23 9:49 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-23 8:43 [PATCH] ovl: Allow changing default fsync_mode Yafang Shao
2026-06-23 9:00 ` Gao Xiang
2026-06-23 9:15 ` Yafang Shao
2026-06-23 9:25 ` Gao Xiang
2026-06-23 9:34 ` Yafang Shao
2026-06-23 9:49 ` Gao Xiang [this message]
2026-06-23 9:59 ` Yafang Shao
2026-06-23 10:06 ` Gao Xiang
2026-06-23 10:12 ` Gao Xiang
2026-06-23 10:18 ` Yafang Shao
2026-06-23 10:25 ` Gao Xiang
2026-06-23 11:38 ` Yafang Shao
2026-06-23 11:59 ` Gao Xiang
2026-06-23 12:47 ` Yafang Shao
2026-06-23 13:11 ` Gao Xiang
2026-06-23 13:19 ` Yafang Shao
2026-06-23 13:35 ` Gao Xiang
2026-06-23 13:39 ` Yafang Shao
2026-06-23 13:42 ` Christoph Hellwig
2026-06-23 13:46 ` Yafang Shao
2026-06-23 13:47 ` Gao Xiang
2026-06-23 14:52 ` Amir Goldstein
2026-06-24 2:09 ` Yafang Shao
2026-06-24 2:28 ` Gao Xiang
2026-06-24 2:30 ` Yafang Shao
2026-06-24 3:17 ` Gao Xiang
2026-06-24 3:28 ` Yafang Shao
2026-06-24 3:36 ` Gao Xiang
2026-06-24 3:41 ` Yafang Shao
2026-06-23 13:03 ` Gao Xiang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7f9e379c-186d-41de-926d-bfc020e6c87c@linux.alibaba.com \
--to=hsiangkao@linux.alibaba.com \
--cc=amir73il@gmail.com \
--cc=fuweid89@gmail.com \
--cc=laoar.shao@gmail.com \
--cc=linux-unionfs@vger.kernel.org \
--cc=miklos@szeredi.hu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox