Mailinglist Archive: opensuse (3666 mails)

< Previous Next >
Re: [SLE] find (and locate)
  • From: Anders Johansson <andjoh@xxxxxxxxxx>
  • Date: Sat, 5 Mar 2005 11:35:38 +0000
  • Message-id: <200503051135.38915.andjoh@xxxxxxxxxx>
On Saturday 05 March 2005 10:57, Martin Deppe wrote:
> Hi friends,
>
> after having had this discussion some time ago I installed "locate"
> (hint from and thanks to Randall) and use it now from time to time.
>
> At the time we had this discussion here before I had a quite strange
> setup regarding my filesystems and symbolic links from within one
> filesystem to within another one. Therefor I didn't inspect this problem
> further.
>
> But now I experienced the following again:
>
> "locate" today didn't show me a file which IS there and definitely
> should have been in its database so I tried "find" which resulted in me
> putting this issue up again. The situation is as follows:
>
> OS: SuSE Linux 9.2 (and still up to date)
>
> Relevant filesystems:
> /dev/hdc7 mounted on / (maybe even not relevant)
> /dev/hdc8 mounted on /home
>
> Directories:
> /home/martin
> /home/martin/Win95/Business/Wolfgang Stoeger/Recherchen
>
> Symbolic links:
> /home/martin/2Wolfgang Stoeger -> Win95/Business/Wolfgang Stoeger
>
> File(s):
> /home/martin/Win95/Business/Wolfgang Stoeger/Recherchen/TJ1961_02.pdf
>
> While I wrote this "updatedb" updated "/var/lib/locatedb". After that:
> still the same.
>
> While being in "/home/martin" the following commands gave the following
> results:
>
> martin@martin4:~> find . -name TJ1961_02.pdf -ls
> 64515 204 -rw------- 1 martin users 205597 Dec 27 12:00
> ./Win95/Business/Wolfgang\ Stoeger/Recherchen/TJ1961_02.pdf
>
> martin@martin4:~> find . -follow -name TJ1961_02.pdf -ls
> find: ./.wine/dosdevices/a:: No medium found
> find: ./.wine/dosdevices/d:: No medium found
> find: . changed during execution of find
>
> As far as I am concerned "find" in the second case should have found TWO
> files, which are:
> 64515 204 -rw------- 1 martin users 205597 Dec 27 12:00
> ./Win95/Business/Wolfgang\ Stoeger/Recherchen/TJ1961_02.pdf
> 64515 204 -rw------- 1 martin users 205597 Dec 27 12:00
> ./2Wolfgang\ Stoeger/Recherchen/TJ1961_02.pdf

The problem is with subfs. When you run 'find' with the -follow parameter it
will follow symbolic links, and one of those symbolic links is to your CD
drive, which is mounted using subfs. When find enters this directory, subfs
tries to mount the CD, which changes the contents of the directory, which
find doesn't like so it aborts the search.

The 'solution', short of an actual fix to the find utility, is to unmount the
CD completely, or to use some flag to find such as -xdev or '! -fstype subfs'


< Previous Next >
Follow Ups
References