We only release leases this way when they are about to be followed
by a request. Presumably to the same MDS..
kernel client
+- unwind writeback start error in addr.c (see fixme)... by redirtying pages?
- inotify for updates from other clients?
- optional or no fill_trace?
- flock, fnctl locks
- async xattrs
- avoid pinning inodes with expireable caps?
-- avoid flushing tcp socket when sending client_lease release messages (when the request is about to follow)
- ACLs
- make writepages maybe skip pages with errors?
- EIO, or ENOSPC?
*(__le32 *)((void *)lease + sizeof(*lease)) = cpu_to_le32(dnamelen);
memcpy((void *)lease + sizeof(*lease) + 4, dentry->d_name.name,
dnamelen);
+
+ /*
+ * if this is a preemptive lease RELEASE, no need to
+ * flush request stream, since the actual request will
+ * soon follow.
+ */
+ msg->more_to_follow = (action == CEPH_MDS_LEASE_RELEASE);
+
ceph_send_msg_mds(mdsc, msg, mds);
}