[linux-cifs-client] no writeable handles available but still need to write out dirty inode data

Steven French sfrench at us.ibm.com
Fri May 26 18:43:37 GMT 2006





Any thoughts on how best to deal with the case we run into from time to
time of
      "No writable handles for inode ...."
This message gets written to the Linux dmesg log from time to time during
heavy stress tests. Unfortunately
for Linux, unlike in the case of readpage/reapages,  neither writepage nor
writepages
pass in a file struct (file handle) so in order to write data over cifs
(since we need a file handle not
an inode) we have to search the inode for any file structs to find a handle
we can use - this
may be an obscure bug (or race with close) above the cifs code in the Linux
vfs but  if
the only available handle for the inode is already closing we are stuck
with no
easy way to write out file data unless we explicitly (reopen) the file
which may be tricky
for the cifs protocol if we can't find a dentry for it.   Current code
instead returns EBADF to
writepages ... not sure what happens from there and not sure that it is not
something
we can fix in the Linux VFS above cifs but it is puzzling to figure out how
best to
address it or whether it is even causing any real problem at all.
Presumably the
pages do eventually get written out or the testcases would fail.

Thoughts?


Steve French
Senior Software Engineer
Linux Technology Center - IBM Austin
phone: 512-838-2294
email: sfrench at-sign us dot ibm dot com
-------------- next part --------------
HTML attachment scrubbed and removed


More information about the linux-cifs-client mailing list