[linux-cifs-client] Re: What is GetXid/FreeXid supposed to actually do?

Steve French smfrench at gmail.com
Sun May 24 18:16:21 GMT 2009


On Sun, May 24, 2009 at 8:14 AM, Jeff Layton <jlayton at redhat.com> wrote:
> As Christoph pointed out while looking at this code, we have a bunch of
> calls in cifs to GetXid/FreeXid, but the xid's returned aren't actually
> used for anything aside from the occasional debug message.

The original intent of the GetXid and FreeXid macros was to log
function entry and exit in a consistent way (since there was no VFS
wide tracing facilty to log these), and to bump perf counters which
indicate how many requests are currently in cifs, and how many total
vfs requests, and to return a number that could be used for
filtering/sorting log messages associated with each unique VFS request
into cifs (not just each kernel tread).   If there is a better way to
accomplish those goals now, it could be removed.    I frequently use
them in debugging (by selectively turning on one of the 3 logging
flags in /proc/fs/cifs/cifsFYI).   I also frequently use the counters
which indicate how many requests are in the cifs VFS at that time.

> Not only that, but these values aren't even unique. It's easily
The values don't have to be unique since they are used for debugging
only, but obviously when they are going to be used to filter debug
messages out of the log they would have more value if unique.
-- 
Thanks,

Steve


More information about the linux-cifs-client mailing list