Ticket #102 (accepted bug)

Opened 7 months ago

Last modified 4 months ago

readdirplus() returns error on single attr failure

Reported by: carns Owned by: carns
Priority: minor Component: SYSINT
Version: HEAD Keywords: readdirplus pvfs2-ls
Cc:

Description

readdirplus() returns an error code array that is supposed to be able to indicate failure in retrieving specific attributes while still successfully returning the rest of the results. This doesn't seem to work though; the entire readdirplus() call returns an error instead.

This causes pvfs2-ls to be unable to list the contents of a directory if any one of the entries references a failed server.

The use case for this is that if a server fails it might be helpful to be able to do a recursive pvfs2-ls -lR to see what files and directories are affected. Right now pvfs2-ls just exits with an error as soon as it hits anything bad.

Change History

Changed 4 months ago by carns

  • owner changed from slang to carns
  • status changed from new to accepted

Changed 4 months ago by carns

There are multiple problems here if the goal is to be able to use pvfs2-ls while servers are down:

- the system interface contacts all servers by default at getconfig time to look for configuration discrepancies (so the admin tool fails before it attempts any listings)

- the readdirplus state machine handles errors returned by the server correctly (setting a per-attribute error code), but treats any communication error as catastrophic

- the pvfs2-ls code simply skips printing any entries for which it could not retrieve attributes. We probably want it to indicate an error (similar to how ls shows "?" for each field in that case)

Changed 4 months ago by carns

  • priority changed from major to minor

Addressing the getconfig problem in a separate trac ticket. If we fix that, then the readdirplus issue is a lower priority because the kernel module (and command line tools like ls) will handle more cases properly.

Note: See TracTickets for help on using tickets.