[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHc6FU4iEYQb7TV-kqFUt4Z6qTkRO1NgWixdeQ-BYBDTk6v3EA@mail.gmail.com>
Date: Mon, 2 Oct 2017 16:39:59 +0200
From: Andreas Gruenbacher <agruenba@...hat.com>
To: "Theodore Ts'o" <tytso@....edu>
Cc: linux-fsdevel <linux-fsdevel@...r.kernel.org>,
linux-ext4 <linux-ext4@...r.kernel.org>,
linux-xfs@...r.kernel.org, Jan Kara <jack@...e.cz>,
Christoph Hellwig <hch@....de>
Subject: Re: [PATCH v2 3/4] ext4: Add iomap support for inline data
On Thu, Sep 28, 2017 at 7:57 PM, Theodore Ts'o <tytso@....edu> wrote:
> On Thu, Sep 14, 2017 at 11:50:46AM +0200, Andreas Gruenbacher wrote:
>> +int ext4_inline_data_iomap(struct inode *inode, struct iomap *iomap)
>> +{
>> + __u64 addr;
>> + int error = -EAGAIN;
>> + struct ext4_iloc iloc;
>> +
>> + down_read(&EXT4_I(inode)->xattr_sem);
>> + if (!ext4_has_inline_data(inode))
>> + goto out;
> ....
>> +out:
>> + up_read(&EXT4_I(inode)->xattr_sem);
>> + return error;
>> +}
>
>
> If we race with the inline data flag getting cleared,
> ext4_iomap_begin() will return with -EAGAIN.
Actually, in that case, ext4_iomap_begin will treat the file as non-inline.
It will not return -EAGAIN.
> As near as I can tell,
> this will get reflected all the way up to userspace, instead of having
> the retry happen in the kernel. Is this intentional?
>
> It looks like a user visible change, no?
That would be a bug.
Thanks,
Andreas
Powered by blists - more mailing lists