linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert White <rwhite@pobox.com>
To: russell@coker.com.au
Cc: Btrfs BTRFS <linux-btrfs@vger.kernel.org>
Subject: Re: strange 3.16.3 problem
Date: Mon, 20 Oct 2014 10:37:28 -0700	[thread overview]
Message-ID: <54454858.8010802@pobox.com> (raw)
In-Reply-To: <201410191041.42013.russell@coker.com.au>

On 10/18/2014 04:41 PM, Russell Coker wrote:
> On Sun, 19 Oct 2014, Robert White <rwhite@pobox.com> wrote:
>> On 10/17/2014 08:54 PM, Russell Coker wrote:
>>> # find . -name "*546"
>>> ./1412233213.M638209P10546
>>> # ls -l ./1412233213.M638209P10546
>>> ls: cannot access ./1412233213.M638209P10546: No such file or directory
>>>
>>> Any suggestions?
>>
>> Does "ls -l *546" show the file to exist? e.g. what happens if you use
>> the exact same wildcard in the ls command as you used in the find?
>
> # ls -l *546
> ls: cannot access 1412233213.M638209P10546: No such file or directory
>
> That gives the same result as find, the shell matches the file name but then
> ls can't view it.
>
> lstat64("1412233213.M638209P10546", 0x9fab0c8) = -1 ENOENT (No such file or
> directory)
>
>  From strace, the lstat64 system call fails.

Okay, from the strace output the shell _is_ finding the file in the 
directory read and expand (readdir) pass. That is "*546" is being 
expanded to the full file name text "1412233213.M638209P10546" but then 
the actual operation fails because the name is apparently not associated 
with anything.

So what pass of scrub or btrfsck checks directory connectedness? Does 
that pass give your file system a clean bill of health?

Also you said that you are using a 32bit user space "copied from another 
server" under a 64bit kernel. Is the "ls" command a 32 bit executable then?

What happens if you stop the Xen domain for the mail server and then 
mount the disks into a native 64bit environment and then ls the file name?

I ask because the man page for lstat64 says its a "wrapper" for the 
underlying system call (fstatat64). It is not impossible that you might 
have a case where the wrapper is failing inside glibc due to some 32/64 
bit conversion taking place.

Since you copied the entire 32bit environment from another (older?) 
server there may be some nonsense happening where the two interfaces meet.

I'd check the file system against a native 64bit kernel and user-space 
next. Possibly from a distro CD if necessary, just to isolate the 
potential file system causes from the user-space causes. If the native 
64bit environment fails then its a fs issue, if the natvie 64bit 
operations work, then its a userspace problem and you win the fun of 
remaking the mail server from scratch.



  parent reply	other threads:[~2014-10-20 17:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-18  3:54 strange 3.16.3 problem Russell Coker
     [not found] ` <CAHGunUkzXZ-ybUR_y3tHzGwtn_45gq8YQJyEqteBX3zqWzUakA@mail.gmail.com>
2014-10-18 10:29   ` Russell Coker
2014-10-18 13:33 ` Robert White
2014-10-18 23:41   ` Russell Coker
2014-10-19  5:37     ` Duncan
2014-10-19 10:19       ` Duncan
2014-10-20 17:37     ` Robert White [this message]
2014-10-20 20:21       ` Goffredo Baroncelli
2014-10-21  9:50         ` Duncan
2014-10-21 10:16           ` inode_cache " Roman Mamedov
2014-10-21 12:08             ` Duncan
2014-10-21 16:40           ` Goffredo Baroncelli
2014-10-22  7:12             ` Duncan
2014-10-19 10:46 ` Chris Samuel
2014-10-20  4:38 ` Duncan
2014-10-20 13:02   ` Zygo Blaxell
2014-10-20 13:19     ` Austin S Hemmelgarn
2014-10-21 10:13     ` Russell Coker
2014-10-21 10:42       ` Russell Coker
2014-10-21 15:23         ` strange 3.16.3 problem (er... never mind 8-) Robert White
2014-10-21 12:25       ` strange 3.16.3 problem Duncan
2014-10-21 15:10       ` Robert White

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54454858.8010802@pobox.com \
    --to=rwhite@pobox.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=russell@coker.com.au \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).