Re: reiserfs broke between 4.9.205 and 4.9.208

From: Jan Kara
Date: Thu Jan 09 2020 - 07:12:27 EST



Hello,

On Wed 08-01-20 15:42:58, Randy Dunlap wrote:
> On 1/8/20 11:36 AM, Michael Brunnbauer wrote:
> > after upgrading from 4.9.205 to 4.9.208, I get errors on two different
> > reiserfs filesystems when doing cp -a (the chown part seems to fail) and
> > on other occasions:
> >
> > kernel: REISERFS warning (device sda1): jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-95)
> >
> > kernel: REISERFS warning (device sdc1): jdm-20004 reiserfs_delete_xattrs: Couldn't delete all xattrs (-95)
> >
> > This behaviour disappeared after a downgrade to 4.9.205.
> >
> > I understand there have been changes to the file system code but I'm not
> > sure they affect reiserfs, e.g.
> >
> > https://bugzilla.kernel.org/show_bug.cgi?id=205433
> >
> > Any Idea?
> >
> > Regards,
> >
> > Michael Brunnbauer
> >
>
> Looks to me like 4.9.207 contains reiserfs changes.
>
> Adding CC's.

Looks like a regression from commit 60e4cf67a582 "reiserfs: fix extended
attributes on the root directory". We are getting -EOPNOTSUPP from
reiserfs_for_each_xattr() likely originally from open_xa_root(). Previously
we were returning -ENODATA from there which error reiserfs_for_each_xattr()
converted to 0. I don't understand reiserfs xattrs enough to quickly tell
what should actually be happening after the Jeff's change - naively I'd
think we should just silence the bogus warning in case of EOPNOTSUPP. Jeff,
can you have a look?

Also Michael, I'd like to clarify: Does 'cp -a' return any error or is it
just that the kernel is spewing these annoying warnings? Because from the
code reading I'd think that it is only the kernel spewing errors but
userspace should be fine...

Honza

--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR