Message2141

Author mike.kupfer
Recipients mdwy62@yahoo.com
Date 2010-04-04.00:37:46
Content
The strace output shows XEmacs successfully reading one of the mounted
directories (/mnt/heg/data) and statting the files in the directory.

Later, it shows XEmacs successfully reading /mnt/heg and successfully
statting the mount point directories.

  open("/mnt/heg",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 6
  getdents(6, /* 6 entries */, 32768)     = 104
  lstat64("/mnt/heg/.", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
  lstat64("/mnt/heg/..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
  lstat64("/mnt/heg/data", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  lstat64("/mnt/heg/sas", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  lstat64("/mnt/heg/maxtor", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  lstat64("/mnt/heg/users", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  getdents(6, /* 0 entries */, 32768)     = 0
  close(6)                                = 0

At line 2627 of the trace, things get weird.  XEmacs opens /mnt/heg
and starts to go through the mount point directories again, but it
only stats the . and .. entries.

  open("/mnt/heg",
O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = 6
  getdents(6, /* 6 entries */, 32768)     = 104
  lstat64("/mnt/heg/.", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
  lstat64("/mnt/heg/..", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
  getdents(6, /* 0 entries */, 32768)     = 0
  close(6)                                = 0

This repeats a few times.

At line 3596 it shows Mark trying to do something with one of the
files under /mnt/heg/data.  This is a file that XEmacs was able to
stat earlier in the trace.

  stat64("/mnt/heg/data/testing.txt", {st_mode=S_IFREG|0755,
st_size=101, ...}) = 0
  readlink("/mnt", 0xbfa69fbc, 4095)      = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg", 0xbfa69fbc, 4095)  = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg/data", 0xbfa69fbc, 4095) = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg/data/testing.txt", 0xbfa69fbc, 4095) = -1 EINVAL
(Invalid argument)
  lstat64("/mnt/heg/data/testing.txt", {st_mode=S_IFREG|0755,
st_size=101, ...}) = 0
  stat64("/mnt/heg/data/testing.txt", {st_mode=S_IFREG|0755,
st_size=101, ...}) = 0
  readlink("/mnt", 0xbfa6108c, 4095)      = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg", 0xbfa6108c, 4095)  = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg/data", 0xbfa6108c, 4095) = -1 EINVAL (Invalid argument)
  readlink("/mnt/heg/data/testing.txt", 0xbfa6108c, 4095) = -1 EINVAL
(Invalid argument)
  readlink("/mnt/heg/data/.#testing.txt", 0x9544810, 100) = -1 ENOENT
(No such file or directory)
  readlink("/mnt/heg/data/.#testing.txt", 0x9544810, 100) = -1 ENOENT
(No such file or directory)
  stat64("/mnt/heg/data/testing.txt", {st_mode=S_IFREG|0755,
st_size=101, ...}) = 0
  ...
  access("/mnt/heg/data/", W_OK)          = 0
  lstat64("/mnt/heg/data/testing.txt", {st_mode=S_IFREG|0755,
st_size=101, ...}) = 0
  stat64("/mnt/heg/data/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  ...
  access("/mnt/heg/data/", W_OK)          = 0
  stat64("/mnt/heg/data/#testing.txt#", 0xbfa6ca0c) = -1 ENOENT (No such
file or directory)
  ...
  stat64("/mnt/heg/data/", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
  ...
  access("/mnt/heg/data/", W_OK)          = 0

The rest of the trace output looks like XEmacs talking to the X
server.

So XEmacs checks for the presence of a lock file and a recovery file,
finding neither.  But it never opens the file.  In fact, the only
open() calls in the trace are for /mnt/heg/data and /mnt/heg.
History
Date User Action Args
2010-04-04 00:37:46mike.kupfersetmessageid: <1270341466.48.0.360520546245.issue700@xemacs.org>
2010-04-04 00:37:46mike.kupfersetrecipients: + mdwy62@yahoo.com
2010-04-04 00:37:46mike.kupferlinkissue700 messages
2010-04-04 00:37:46mike.kupfercreate