summaryrefslogtreecommitdiffstats
path: root/fs/ceph
diff options
context:
space:
mode:
authorHenry C Chang <henry.cy.chang@gmail.com>2011-03-15 10:18:02 +0100
committerSage Weil <sage@newdream.net>2011-03-21 20:24:25 +0100
commit49bcb93236ce1c60d9b7eb21a0aea1999f4d8709 (patch)
treee8dc94cf5c106fc1067411bc38e16e43ab15318e /fs/ceph
parentceph: remove request from unsafe list if it is canceled/timed out (diff)
downloadlinux-49bcb93236ce1c60d9b7eb21a0aea1999f4d8709.tar.xz
linux-49bcb93236ce1c60d9b7eb21a0aea1999f4d8709.zip
ceph: add request to the tail of unsafe write list
In sync_write_wait(), we assume that the newest request is at the tail of unsafe write list. We should maintain the semantics here. Signed-off-by: Henry C Chang <henry_c_chang@tcloudcomputing.com> Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph')
-rw-r--r--fs/ceph/file.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/file.c b/fs/ceph/file.c
index db5d86309744..159b512d5a27 100644
--- a/fs/ceph/file.c
+++ b/fs/ceph/file.c
@@ -564,7 +564,8 @@ more:
* start_request so that a tid has been assigned.
*/
spin_lock(&ci->i_unsafe_lock);
- list_add(&req->r_unsafe_item, &ci->i_unsafe_writes);
+ list_add_tail(&req->r_unsafe_item,
+ &ci->i_unsafe_writes);
spin_unlock(&ci->i_unsafe_lock);
ceph_get_cap_refs(ci, CEPH_CAP_FILE_WR);
}