Re: Fwd: mkdir error message -- what does this mean?
Date: Sat, 01 Oct 2022 06:38:09 UTC
On Fri, Sep 30, 2022 at 2:44 PM Andreas Kusalananda Kähäri < andreas.kahari@abc.se> wrote: > On Fri, Sep 30, 2022 at 02:35:14PM -0400, Aryeh Friedman wrote: > > ---------- Forwarded message --------- > > From: Dee Nixon <dnixon-fnwe@nyclocal.net> > > Date: Fri, Sep 30, 2022 at 11:31 AM > > Subject: mkdir error message -- what does this mean? > > To: Aryeh Friedman <aryeh.friedman@gmail.com> > > > > > > > > What does the following mean? > > > > > > dnixon@sft:/tmp % sudo mkdir > > /fsvc/clients/specMed/LIVE/master/h11a9fpp-mkknhbci-2hjvbpc > > mkdir: /fsvc/clients/specMed/LIVE/master/h11a9fpp-mkknhbci-2hjvbpc: Too > > many links > > dnixon@sft:/tmp % > > > > -- > > > > > > -- > > Aryeh M. Friedman, Lead Developer, http://www.PetiteCloud.org > > > The error message usually says "Too many levels of symbolic links", so > I'm assuming that you have translated it. > > It means that when creating the directory, a symbolic link was traversed > that pointed back to itself, or in some other fasion created a loop. > > This can easily be recreated like this: > > $ ln -s link . > $ ls -l > total 1 > lrwxr-xr-x 1 myself wheel 4 Sep 30 20:38 link -> link > > Then: > > $ mkdir link/hello > mkdir: link/hello: Too many levels of symbolic links > > So, in your case, I would investigate whether any part of the target > pathname "/fsvc/clients/specMed/LIVE/master/h11a9fpp-mkknhbci-2hjvbpc" > is a symbolic link that points to somewhere where it shouldn't point. > > -- > Andreas (Kusalananda) Kähäri > SciLifeLab, NBIS, ICM > Uppsala University, Sweden > > . > > This was obviously incorrect as it wasn't a translation. The error messages that the standard FreeBSD utilities produce USUALLY provide you with a short message that errno points to. It does this by way of "char *strerror(int errnum)" (man 3 strerror). All this says is, given an errno, provide me with an error string. By taking that error string (or most of it) you can look up which errno was triggered. If this was indeed a symbolic link error the actual error message would have been: "Too many levels of symbolic links" or errno 62/ELOOP. (like you show'd) Taking the exact error message and looking that up instead, you'll find it's errno 31/EMLINK. Early I provided this data and was asked by David how I found this information. I feel obligated to share it again here so in future finding maybe not the exact cause of the problem, but a more logical explanation for a given error can be made quicker: man errno The above command not only provides the "short" version of which error strings that utilities can produce, but also provides a slightly more detailed explanation (in most cases) about what a given errno means. It doesn't always nor can it provide you a definitive answer every single time, but in some cases it absolutely can. Anyways, just tying up loose ends. Thanks, Paul Procacci -- __________________ :(){ :|:& };: