Thread (58 messages) 58 messages, 5 authors, 2017-10-18

Re: [PATCH 17/19] ext4: Add support for MAP_SYNC flag

From: Jan Kara <jack@suse.cz>
Date: 2017-10-17 11:30:56
Also in: linux-fsdevel, linux-xfs

On Fri 13-10-17 08:52:28, Dan Williams wrote:
On Fri, Oct 13, 2017 at 12:22 AM, Christoph Hellwig [off-list ref] wrote:
quoted
On Wed, Oct 11, 2017 at 03:11:21PM -0700, Dan Williams wrote:
quoted
quoted
+       /*
+        * We don't support synchronous mappings for non-DAX files. At least
+        * until someone comes with a sensible use case.
+        */
+       if (!IS_DAX(file_inode(file)) && (map_flags & MAP_SYNC))
+               return -EOPNOTSUPP;
Perhaps EPERM instead to differentiate the unsupported flags case?
There's precedent for mmap returning EPERM for reasons other than
incompatible PROT flags.
Why would we want to voluntarily use arcane errors for a entirely
new interface under our control?

-EOPNOTSUPP is nice and explicit about what is going on.
We have this general and perennial problem of parsing why the kernel
is throwing an error. It saves a debug step if the error code is
unique, and in this case would indicate that the filesystem supports
MAP_SYNC but the administrator failed to arrange for the device to be
in DAX mode.
So I understand this wish however I think the error codes should also
reflect the nature of the problem. And EPERM has something to do with access
permissions, not whether file supports DAX access or not.

								Honza

-- 
Jan Kara [off-list ref]
SUSE Labs, CR
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help