Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-16 Thread Richard Weinberger
Eric, Am 17.05.2017 um 00:07 schrieb Eric Biggers: >>> I can reproduce this on an unencrypted directory after updating path_init() >>> in >>> fs/namei.c to always clear LOOKUP_RCU, so that all path lookups are done in >>> ref-walk mode. So I think fscrypt_d_revalidate() was only relevant because

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-16 Thread Eric Biggers
On Tue, May 16, 2017 at 08:47:43AM +0200, Richard Weinberger wrote: > Eric, > > Am 16.05.2017 um 01:25 schrieb Eric Biggers: > > On Mon, May 15, 2017 at 09:51:03PM +0200, Richard Weinberger wrote: > >>> > >>> The test is repeatedly creating and removing a directory "dir" while > >>> lookups are >

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-16 Thread Richard Weinberger
Al, Am 16.05.2017 um 01:50 schrieb Al Viro: > On Mon, May 15, 2017 at 09:51:03PM +0200, Richard Weinberger wrote: > >>> I doubt it's the right solution to make fscrypt_d_revalidate() look at >>> ->i_nlink, since ->d_revalidate() is meant to validate the filename, not the >>> inode. I think there

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-15 Thread Richard Weinberger
Eric, Am 16.05.2017 um 01:25 schrieb Eric Biggers: > On Mon, May 15, 2017 at 09:51:03PM +0200, Richard Weinberger wrote: >>> >>> The test is repeatedly creating and removing a directory "dir" while >>> lookups are >>> being done in it. It seems the problem is that many dentries are being >>> cr

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-15 Thread Al Viro
On Mon, May 15, 2017 at 09:51:03PM +0200, Richard Weinberger wrote: > > I doubt it's the right solution to make fscrypt_d_revalidate() look at > > ->i_nlink, since ->d_revalidate() is meant to validate the filename, not the > > inode. I think there is probably a VFS bug that is causing the dentri

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-15 Thread Eric Biggers
On Mon, May 15, 2017 at 09:51:03PM +0200, Richard Weinberger wrote: > > > > The test is repeatedly creating and removing a directory "dir" while > > lookups are > > being done in it. It seems the problem is that many dentries are being > > created > > for "dir", and they pin many different inod

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-15 Thread Richard Weinberger
Eric, Am 15.05.2017 um 21:45 schrieb Eric Biggers: >> If a directory is encrypted, evict() is not being called although the inode >> has no >> users anymore. >> It turned out evict() is not being called because fscrypt's >> fscrypt_d_revalidate() >> function. >> When I omit fscrypt_set_d_op() in

Re: Question on fscrypt_d_revalidate() and fstest generic/429

2017-05-15 Thread Eric Biggers
Hi Richard, On Mon, May 15, 2017 at 04:39:23PM +0200, Richard Weinberger wrote: > Hi! > > on UBIFS, fstest generic/429 fails due to -ENFILE because the internal orphan > list reaches the maximum size. > When you unlink a file, the inode goes into the orphan list, in UBIFS' > evict() function > i