On Wed, Dec 04, 2024 at 10:46:23PM -0800, Christoph Hellwig wrote: > On Wed, Dec 04, 2024 at 10:14:50PM -0800, Darrick J. Wong wrote: > > The function opportunistically moves sc->tempip from the regular > > directory tree to the metadata directory tree if sc->ip is part of the > > metadata directory tree. However, the scrub setup functions grab sc->ip > > and create sc->tempip before we actually get around to checking if the > > file is the right type for the scrubber. > > > > IOWs, you can invoke the symlink scrubber with the file handle of a > > subdirectory in the metadir. xrep_setup_symlink will create a temporary > > symlink file, xrep_tempfile_adjust_directory_tree will foolishly try to > > set the METADATA flag on the temp symlink, which trips the inode > > verifier in the inode item precommit, which shuts down the filesystem > > when expensive checks are turned on. If they're /not/ turned on, then > > xchk_symlink will return ENOENT when it sees that it's been passed a > > symlink. > > Maybe just write this down in a big fat comment? Will do. --D