diff options
author | Alex Elder <elder@inktank.com> | 2013-04-30 01:44:32 -0400 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-05-02 00:20:08 -0400 |
commit | 4f0dcb10cf1454a1c38aeaa04cb2757535e4905e (patch) | |
tree | 1637c6a8961c95bdf02b7326cea79ca9b0b8e07f /include/linux/ceph | |
parent | b536f69a3a589113992c32982bf2981c8225c9da (diff) |
libceph: create source file "net/ceph/snapshot.c"
This creates a new source file "net/ceph/snapshot.c" to contain
utility routines related to ceph snapshot contexts. The main
motivation was to define ceph_create_snap_context() as a common way
to create these structures, but I've moved the definitions of
ceph_get_snap_context() and ceph_put_snap_context() there too.
(The benefit of inlining those is very small, and I'd rather
keep this collection of functions together.)
Signed-off-by: Alex Elder <elder@inktank.com>
Reviewed-by: Josh Durgin <josh.durgin@inktank.com>
Diffstat (limited to 'include/linux/ceph')
-rw-r--r-- | include/linux/ceph/libceph.h | 30 |
1 files changed, 5 insertions, 25 deletions
diff --git a/include/linux/ceph/libceph.h b/include/linux/ceph/libceph.h index 5493d7b86423..2e3024881a5e 100644 --- a/include/linux/ceph/libceph.h +++ b/include/linux/ceph/libceph.h | |||
@@ -157,31 +157,11 @@ struct ceph_snap_context { | |||
157 | u64 snaps[]; | 157 | u64 snaps[]; |
158 | }; | 158 | }; |
159 | 159 | ||
160 | static inline struct ceph_snap_context * | 160 | extern struct ceph_snap_context *ceph_create_snap_context(u32 snap_count, |
161 | ceph_get_snap_context(struct ceph_snap_context *sc) | 161 | gfp_t gfp_flags); |
162 | { | 162 | extern struct ceph_snap_context *ceph_get_snap_context( |
163 | /* | 163 | struct ceph_snap_context *sc); |
164 | printk("get_snap_context %p %d -> %d\n", sc, atomic_read(&sc->nref), | 164 | extern void ceph_put_snap_context(struct ceph_snap_context *sc); |
165 | atomic_read(&sc->nref)+1); | ||
166 | */ | ||
167 | if (sc) | ||
168 | atomic_inc(&sc->nref); | ||
169 | return sc; | ||
170 | } | ||
171 | |||
172 | static inline void ceph_put_snap_context(struct ceph_snap_context *sc) | ||
173 | { | ||
174 | if (!sc) | ||
175 | return; | ||
176 | /* | ||
177 | printk("put_snap_context %p %d -> %d\n", sc, atomic_read(&sc->nref), | ||
178 | atomic_read(&sc->nref)-1); | ||
179 | */ | ||
180 | if (atomic_dec_and_test(&sc->nref)) { | ||
181 | /*printk(" deleting snap_context %p\n", sc);*/ | ||
182 | kfree(sc); | ||
183 | } | ||
184 | } | ||
185 | 165 | ||
186 | /* | 166 | /* |
187 | * calculate the number of pages a given length and offset map onto, | 167 | * calculate the number of pages a given length and offset map onto, |