Hi,

Akihiro Suda:
> A recent Docker issue reports that AUFS does not work with `fcntl(fd,
> F_SETFL, O_APPEND)`.
> How to reproduce the situation is also attached in the issue ticket.
> https://github.com/docker/docker/issues/20199

Thanx for reporting.


> I found a workaround which disables `aufs_write()` and uses
> `aufs_write_iter()` instead, even for non-vectorized `write()` calls.

I'd rather try implementing filp->check_flags() instead of removing
->write().

Generaly the behaviour of aufs fcntl() (and also ioctl()) may not be
good. Because the "file" or "filp" object in aufs, which is refered to
by "file descriptor", differs from the one on the branch filesystem. The
branch fs's filp is a real one, but aufs's is virtual. User handles a
virtual filp. If VFS prepared a method (operation) to support fs
specific fcntl(), aufs implemented it and fcntl() would be fully
supported. Currently there seems not to exist such method.
I will dive more when I have time.


J. R. Okajima

------------------------------------------------------------------------------
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=272487151&iu=/4140

Reply via email to