summaryrefslogtreecommitdiffstats
path: root/fs/ceph/cache.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-01-24 15:34:13 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-01-24 15:34:13 -0500
commit00e3f5cc305c8a056a22cecedab3a71d59dae1fc (patch)
treeb2f3cff7d986768aab7ebc84b9efefa8ea3ecc00 /fs/ceph/cache.c
parent772950ed21c36f4157ff34e7d10fb61975f64558 (diff)
parent7e01726a6853e032536ed7e75c1e1232872ff318 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client
Pull Ceph updates from Sage Weil: "The two main changes are aio support in CephFS, and a series that fixes several issues in the authentication key timeout/renewal code. On top of that are a variety of cleanups and minor bug fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/sage/ceph-client: libceph: remove outdated comment libceph: kill off ceph_x_ticket_handler::validity libceph: invalidate AUTH in addition to a service ticket libceph: fix authorizer invalidation, take 2 libceph: clear messenger auth_retry flag if we fault libceph: fix ceph_msg_revoke() libceph: use list_for_each_entry_safe ceph: use i_size_{read,write} to get/set i_size ceph: re-send AIO write request when getting -EOLDSNAP error ceph: Asynchronous IO support ceph: Avoid to propagate the invalid page point ceph: fix double page_unlock() in page_mkwrite() rbd: delete an unnecessary check before rbd_dev_destroy() libceph: use list_next_entry instead of list_entry_next ceph: ceph_frag_contains_value can be boolean ceph: remove unused functions in ceph_frag.h
Diffstat (limited to 'fs/ceph/cache.c')
-rw-r--r--fs/ceph/cache.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/ceph/cache.c b/fs/ceph/cache.c
index 7680e2626815..a351480dbabc 100644
--- a/fs/ceph/cache.c
+++ b/fs/ceph/cache.c
@@ -106,7 +106,7 @@ static uint16_t ceph_fscache_inode_get_aux(const void *cookie_netfs_data,
106 106
107 memset(&aux, 0, sizeof(aux)); 107 memset(&aux, 0, sizeof(aux));
108 aux.mtime = inode->i_mtime; 108 aux.mtime = inode->i_mtime;
109 aux.size = inode->i_size; 109 aux.size = i_size_read(inode);
110 110
111 memcpy(buffer, &aux, sizeof(aux)); 111 memcpy(buffer, &aux, sizeof(aux));
112 112
@@ -117,9 +117,7 @@ static void ceph_fscache_inode_get_attr(const void *cookie_netfs_data,
117 uint64_t *size) 117 uint64_t *size)
118{ 118{
119 const struct ceph_inode_info* ci = cookie_netfs_data; 119 const struct ceph_inode_info* ci = cookie_netfs_data;
120 const struct inode* inode = &ci->vfs_inode; 120 *size = i_size_read(&ci->vfs_inode);
121
122 *size = inode->i_size;
123} 121}
124 122
125static enum fscache_checkaux ceph_fscache_inode_check_aux( 123static enum fscache_checkaux ceph_fscache_inode_check_aux(
@@ -134,7 +132,7 @@ static enum fscache_checkaux ceph_fscache_inode_check_aux(
134 132
135 memset(&aux, 0, sizeof(aux)); 133 memset(&aux, 0, sizeof(aux));
136 aux.mtime = inode->i_mtime; 134 aux.mtime = inode->i_mtime;
137 aux.size = inode->i_size; 135 aux.size = i_size_read(inode);
138 136
139 if (memcmp(data, &aux, sizeof(aux)) != 0) 137 if (memcmp(data, &aux, sizeof(aux)) != 0)
140 return FSCACHE_CHECKAUX_OBSOLETE; 138 return FSCACHE_CHECKAUX_OBSOLETE;