[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAPcyv4g+YE4D0-_Y=yxa2s8Ns8F89=HdY=-_Pg_gYxcXtZ8tTg@mail.gmail.com>
Date: Fri, 13 Oct 2017 08:52:28 -0700
From: Dan Williams <dan.j.williams@...el.com>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jan Kara <jack@...e.cz>,
linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-ext4 <linux-ext4@...r.kernel.org>,
linux-xfs@...r.kernel.org,
Ross Zwisler <ross.zwisler@...ux.intel.com>,
Ted Tso <tytso@....edu>,
"Darrick J. Wong" <darrick.wong@...cle.com>
Subject: Re: [PATCH 17/19] ext4: Add support for MAP_SYNC flag
On Fri, Oct 13, 2017 at 12:22 AM, Christoph Hellwig <hch@...radead.org> wrote:
> On Wed, Oct 11, 2017 at 03:11:21PM -0700, Dan Williams wrote:
>> > + /*
>> > + * 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.
Powered by blists - more mailing lists