On 12/06/2010 11:09 AM, Chuck Lever wrote: > Monitored host information is stored in files under /var/lib/nfs. > When visiting entries in the monitored hosts directory, libnsm.a > examines the value of dirent.d_type to determine if an entry is a > regular file. > > According to readdir(3), the d_type field is not supported by all > file system types. My root file system happens to be one where d_type > isn't supported. Typical installations that use an ext-derived root > file system are not exposed to this issue, but those who use xfs, for > instance, are. > > On such file systems, not only are remote peers not notified of > reboots, but the NSM state number is never incremented. A statd warm > restart would not re-monitor any hosts that were monitored before > the restart. > > When writing support/nsm/file.c, I copied the use of d_type from the > original statd code, so this has likely been an issue for some time. > > Replace the use of d_type in support/nsm/file.c with a call to > lstat(2). It's extra code, but is guaranteed to work on all file > system types. > > Note there is a usage of d_type in gssd. I'll let gssd and rpcpipefs > experts decide whether that's worth changing. > > Fix for: > > https://bugzilla.linux-nfs.org/show_bug.cgi?id=193 > > Signed-off-by: Chuck Lever <chuck.lever@xxxxxxxxxx> Committed... But without the "Skipping dot file..." xlogs. steved -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html