From: Vivek Goyal <vgoyal@redhat.com>
To: Amir Goldstein <amir73il@gmail.com>
Cc: overlayfs <linux-unionfs@vger.kernel.org>,
Miklos Szeredi <miklos@szeredi.hu>,
linux-ext4@vger.kernel.org
Subject: Re: [PATCH v6 12/15] ovl: Fix encryption status of a metacopy only file
Date: Wed, 15 Nov 2017 15:53:02 -0500 [thread overview]
Message-ID: <20171115205302.GF13895@redhat.com> (raw)
In-Reply-To: <CAOQ4uxjrfhoCh1gnQM04xkgNNWzxUs2S20NXGFwhfAPg4=D4Xw@mail.gmail.com>
On Fri, Nov 10, 2017 at 11:09:26AM +0200, Amir Goldstein wrote:
> On Thu, Nov 9, 2017 at 10:50 PM, Vivek Goyal <vgoyal@redhat.com> wrote:
> > If file is metacopy only, it is possible that lower is encrypted while
> > other is not. In that case, report file as encrypted (despite the fact
> > that only data is encrypted while metadata is not).
>
> Better consult ext4 guys or find out which user tools care about this
> flag and what they could do in response to this flag.
[ CCing ext4 maling list ]
>
> When I commented that we need to see what do to about all these
> flags I just gave encrypted flag as an example.
>
> On a hunch I would say that we need a mask of statx flags that are
> readonly attributes of the data itself and that mask should probably
> contain encrypted and compressed to begin with.
I thought encrypted flag is representing metadata also (and not just
data). Is that not the case.
> I don't see a reason for 2 separate patches and certainly not for
> 2 separate helpers.
I will merge the two patches. I am not sure about the mask thing though.
We can probably start with encryption and compression flags for now and
make it more generic down the line (using that mask).
>
> >
> > Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
> > ---
> > fs/overlayfs/inode.c | 14 +++++++++++++-
> > 1 file changed, 13 insertions(+), 1 deletion(-)
> >
> > diff --git a/fs/overlayfs/inode.c b/fs/overlayfs/inode.c
> > index 7ba19a97a8da..15713d4ac2dd 100644
> > --- a/fs/overlayfs/inode.c
> > +++ b/fs/overlayfs/inode.c
> > @@ -66,6 +66,16 @@ int ovl_setattr(struct dentry *dentry, struct iattr *attr)
> > return err;
> > }
> >
> > +static void ovl_stat_set_encryption(struct kstat *ustat, struct kstat *lstat) {
> > + if (!((lstat->attributes_mask & STATX_ATTR_ENCRYPTED) &&
> > + (lstat->attributes & STATX_ATTR_ENCRYPTED)))
> > + return;
> > +
> > + ustat->attributes |= STATX_ATTR_ENCRYPTED;
> > + ustat->attributes_mask |= STATX_ATTR_ENCRYPTED;
> > +}
> > +
>
>
> This looks buggy. you set STATX_ATTR_ENCRYPTED even if lower
> doesn't have STATX_ATTR_ENCRYPTED in attributes nor in attributes_mask.
Hmm.., I am not able to see where is the bug. Did you notice the "!"
in if condition.
We will set STATX_ATTR_ENCRYPTED in attributes_mask and attributes
only if lower has STATX_ATTR_ENCRYPTED set both in ->attributes_mask
and ->attributes.
Vivek
next prev parent reply other threads:[~2017-11-15 20:53 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-09 20:50 [RFC PATCH v6 00/15] overlayfs: Delayed copy up of data Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 01/15] ovl: Create origin xattr on copy up for all files Vivek Goyal
2017-11-10 6:58 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 02/15] ovl: ovl_check_setxattr() get rid of redundant -EOPNOTSUPP check Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 03/15] ovl: Provide a mount option metacopy=on/off for metadata copyup Vivek Goyal
2017-11-10 7:07 ` Amir Goldstein
2017-11-10 7:14 ` Amir Goldstein
2017-11-15 16:04 ` Vivek Goyal
2017-11-15 15:35 ` Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 04/15] ovl: During copy up, first copy up metadata and then data Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 05/15] ovl: Copy up only metadata during copy up where it makes sense Vivek Goyal
2017-11-10 7:27 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 06/15] ovl: Add helper ovl_already_copied_up() Vivek Goyal
2017-11-10 8:24 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 07/15] ovl: A new xattr OVL_XATTR_METACOPY for file on upper Vivek Goyal
2017-11-10 8:38 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 08/15] ovl: Fix ovl_getattr() to get number of blocks from lower Vivek Goyal
2017-11-10 8:43 ` Amir Goldstein
2017-11-15 19:37 ` Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 09/15] ovl: Set OVL_UPPERDATA flag during ovl_lookup() Vivek Goyal
2017-11-10 8:46 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 10/15] ovl: Return lower dentry if only metadata copy up took place Vivek Goyal
2017-11-10 8:48 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 11/15] ovl: Do not expose metacopy only upper dentry Vivek Goyal
2017-11-10 8:54 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 12/15] ovl: Fix encryption status of a metacopy only file Vivek Goyal
2017-11-10 9:09 ` Amir Goldstein
2017-11-15 20:53 ` Vivek Goyal [this message]
2017-11-09 20:50 ` [PATCH v6 13/15] ovl: Fix compression " Vivek Goyal
2017-11-10 9:10 ` Amir Goldstein
2017-11-09 20:50 ` [PATCH v6 14/15] ovl: Introduce read/write barriers around metacopy flag update Vivek Goyal
2017-11-10 9:43 ` Amir Goldstein
2017-11-16 15:13 ` Vivek Goyal
2017-11-09 20:50 ` [PATCH v6 15/15] ovl: Enable metadata only feature Vivek Goyal
2017-11-10 9:19 ` Amir Goldstein
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=20171115205302.GF13895@redhat.com \
--to=vgoyal@redhat.com \
--cc=amir73il@gmail.com \
--cc=linux-ext4@vger.kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.