- 01 Jan, 2015 1 commit
-
-
Max Kellermann authored
-
- 14 Dec, 2014 14 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
SocketMonitor::Cancel() does not actually unregister the socket; it only disables the event.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
When mounting had not yet finished, SocketMonitor::IsDefined() was always false, due to the workaround at the beginning of the function that calls SocketMonitor::Steal(). This commit drops the IsDefined() check because it was never necessary and breaks reconnect.
-
Max Kellermann authored
-
Max Kellermann authored
nfs_destroy_context() will invoke all pending callbacks with err==-EINTR. In CancellableCallback::Callback(), this will invoke NfsConnection::DeferClose(), which however is only designed to be called from nfs_service(). In non-debug mode, this will leak memory because nfs_close_async() is never called. Workaround: before nfs_destroy_context(), invoke nfs_close_async() on all pending file handles.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
The method NfsConnection::CancellableCallback::Callback() will always invoke NfsConnection::Close() on the file handle, even if the void pointer is not a nfsfh. This can happen if the Open() was not successful, e.g. when the file does not exist.
-
Max Kellermann authored
-
- 25 Nov, 2014 8 commits
-
-
Max Kellermann authored
Avoids crash because Close() invokes a call on a destructed NfsConnection.
-
Max Kellermann authored
-
Max Kellermann authored
Avoid calling NfsConnection::RemoveLease(), because the lease has been removed already.
-
Max Kellermann authored
Clean up the "state" to indicate that there is no longer any asynchronous operation. Fixes another NFS-related crash due to cleanup of a non-existing asynchronous operation.
-
Max Kellermann authored
Avoids a crash that occurs when NfsConnection::OnSocketReady() dereferences itself before returning.
-
Max Kellermann authored
During the NfsLease::OnNfsConnectionFailed() call, the old (defunct) nfs_context may be used to close file handles. Such code does not yet exist, but will be added soon to fix other bugs.
-
Max Kellermann authored
Fixes potential second mount attempt after the old connection to the NFS server was shut down.
-
Max Kellermann authored
-
- 09 Oct, 2014 3 commits
-
-
Max Kellermann authored
Share the NFS connection with the NFS input plugin.
-
Max Kellermann authored
-
Max Kellermann authored
-
- 07 Oct, 2014 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
-
- 06 Oct, 2014 1 commit
-
-
Max Kellermann authored
-
- 05 Oct, 2014 1 commit
-
-
Max Kellermann authored
Creating a NfsStorage sets its own export_name as the "base". Now NfsFileReader can use this information to derive the export_name to be mounted, instead of guessing. This solves the "too many connection" problem on the NFS server while updating the database.
-
- 01 Oct, 2014 10 commits
-
-
Max Kellermann authored
If an async opertion is in progress, nfs_close_async() will make libnfs crash because the RPC callback will dereference an object that was freed by nfs_close_async().
-
Max Kellermann authored
Close the newly allocated file handle passed to the callback.
-
Max Kellermann authored
All locks are currenly held from only a single thread (the IOThread) and thus we don't need the Mutex.
-
Max Kellermann authored
-
Max Kellermann authored
-
Max Kellermann authored
Not used anymore because NfsManager now uses boost::intrusive::set instead of std::map.
-
Max Kellermann authored
Reduce overhead for storing the key twice, and more overhead while looking up the connection to remove it after a failure.
-
Max Kellermann authored
-
Max Kellermann authored
This allows eliminating the indirection code from the NfsConnection destructor.
-
Max Kellermann authored
It's just a useless wrapper for class NfsManager.
-