|
@@ -568,7 +568,14 @@ more:
|
|
|
spin_unlock(&ci->i_unsafe_lock);
|
|
|
ceph_get_cap_refs(ci, CEPH_CAP_FILE_WR);
|
|
|
}
|
|
|
+
|
|
|
ret = ceph_osdc_wait_request(&fsc->client->osdc, req);
|
|
|
+ if (ret < 0 && req->r_safe_callback) {
|
|
|
+ spin_lock(&ci->i_unsafe_lock);
|
|
|
+ list_del_init(&req->r_unsafe_item);
|
|
|
+ spin_unlock(&ci->i_unsafe_lock);
|
|
|
+ ceph_put_cap_refs(ci, CEPH_CAP_FILE_WR);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
if (file->f_flags & O_DIRECT)
|