NFS Kernel Bug

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

 



Good morning!

I believe we have found a bug in the NFS kernel area. The "bug" is a leak of a file handle where the NFS client never tells the server to close the file. The problem is very similar to one we had reported and got a fix for previously. We are using that patch, but ran in to another case where the client sends out an OPEN_DOWNGRADE but never sends a CLOSE.

Attached is a simple c program that we have been able to reproduce the bug with, along with a packet capture of what we see on the wire.

To reproduce the bug:
-compile the c code
-execute the c code with:

./test ; cat testfile3 > /dev/nul

-now if we try to remove the file we get a file in use error (server is using mandatory locking)

Things to note:

-if you just run the program without the immediate cat'ing of the file, the bug does not happen
suggesting a timing issue
-If you alter the program so the code mimics the cat of the file, the bug does not happen (ie, add an open, read file, close to the code). -If you run the program as described above, and then run it again without the "; cat testfile3 > /dev/nul", the kernel squeaks out the file close to the server when the code does the close.

The attached packet capture is us doing:

./test ; cat testfile3 > /dev/null
rm testfile3
./test
rm testfile3

where we are denied the rm the first time, but not the second.


Thanks
James

Attachment: test.c
Description: application/softgrid-c

<<attachment: nfsbug.zip>>


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux