mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-09 06:33:34 +00:00
ovl: add ovl_allow_offline_changes() helper
Allows to check whether any of extended features are enabled Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com> Reviewed-by: Amir Goldstein <amir73il@gmail.com> Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
parent
e4522bc873
commit
ca45275cd6
@ -263,6 +263,18 @@ static inline bool ovl_open_flags_need_copy_up(int flags)
|
||||
return ((OPEN_FMODE(flags) & FMODE_WRITE) || (flags & O_TRUNC));
|
||||
}
|
||||
|
||||
static inline bool ovl_allow_offline_changes(struct ovl_fs *ofs)
|
||||
{
|
||||
/*
|
||||
* To avoid regressions in existing setups with overlay lower offline
|
||||
* changes, we allow lower changes only if none of the new features
|
||||
* are used.
|
||||
*/
|
||||
return (!ofs->config.index && !ofs->config.metacopy &&
|
||||
!ofs->config.redirect_dir && ofs->config.xino != OVL_XINO_ON);
|
||||
}
|
||||
|
||||
|
||||
/* util.c */
|
||||
int ovl_want_write(struct dentry *dentry);
|
||||
void ovl_drop_write(struct dentry *dentry);
|
||||
|
@ -1599,9 +1599,7 @@ static bool ovl_lower_uuid_ok(struct ovl_fs *ofs, const uuid_t *uuid)
|
||||
* user opted-in to one of the new features that require following the
|
||||
* lower inode of non-dir upper.
|
||||
*/
|
||||
if (!ofs->config.index && !ofs->config.metacopy &&
|
||||
!ofs->config.redirect_dir && ofs->config.xino != OVL_XINO_ON &&
|
||||
uuid_is_null(uuid))
|
||||
if (ovl_allow_offline_changes(ofs) && uuid_is_null(uuid))
|
||||
return false;
|
||||
|
||||
for (i = 0; i < ofs->numfs; i++) {
|
||||
|
Loading…
Reference in New Issue
Block a user