listing knfsd-held locks and opens

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



We've got a long-standing complaint that tools like lsof, when run on an
NFS server, overlook opens and locks held by NFS clients.

The information's all there, it's just a question of how to expose it.

Easiest might be a single flat file like /proc/locks, but I've always
hoped we could do something slightly more structured, using a
subdirectory per NFS client.

Jeff Layton looked into this several years ago.  I don't remember if
there was some particular issue or if he just got bogged down in VFS
details.

My concerns are that:

	- I'd like the format to be easily expandable.  The option to
	  create new files seems like it would help.
	- some of the data we'd like to expose may be kind of cumbersome
	  include as a column in a text file.  (I'm thinking of the
	  NFSv4 client identifier, which the protocol allows to be up to
	  1K of binary data, even if most (all?) clients use shorter
	  ascii identifiers.)

I'm not sure I'd want to go as far as a sysfs-like one-value-per-file
rule, which seems like overkill?

In a little more detail, as starting point, I was considering naming
each client directory with a small integer, and including files like:

	info: a text file with
		NFS protocol version
		ascii representation of client address
		krb5 principal if available

	clientid: NFSv4 client ID; file absent for NFSv2/3 clients.

	locks: list of locks, following something like the /proc/locks
		format.

	opens: list of file opens, with access bits, inode numbers,
		device number.

Does that sound reasonable?  Any other ideas?

--b.



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux