Blame view
fs/gfs2/log.h
1.96 KB
b3b94faa5 [GFS2] The core o... |
1 2 |
/* * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved. |
3a8a9a103 [GFS2] Update cop... |
3 |
* Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved. |
b3b94faa5 [GFS2] The core o... |
4 5 6 |
* * This copyrighted material is made available to anyone wishing to use, * modify, copy, or redistribute it subject to the terms and conditions |
e9fc2aa09 [GFS2] Update cop... |
7 |
* of the GNU General Public License version 2. |
b3b94faa5 [GFS2] The core o... |
8 9 10 11 |
*/ #ifndef __LOG_DOT_H__ #define __LOG_DOT_H__ |
f2f7ba523 [GFS2] Make heade... |
12 13 |
#include <linux/list.h> #include <linux/spinlock.h> |
4667a0ec3 GFS2: Make writeb... |
14 |
#include <linux/writeback.h> |
f2f7ba523 [GFS2] Make heade... |
15 |
#include "incore.h" |
b3b94faa5 [GFS2] The core o... |
16 17 18 19 20 21 22 |
/** * gfs2_log_lock - acquire the right to mess with the log manager * @sdp: the filesystem * */ static inline void gfs2_log_lock(struct gfs2_sbd *sdp) |
2d81afb87 [GFS2] trivial sp... |
23 |
__acquires(&sdp->sd_log_lock) |
b3b94faa5 [GFS2] The core o... |
24 25 26 27 28 29 30 31 32 33 34 |
{ spin_lock(&sdp->sd_log_lock); } /** * gfs2_log_unlock - release the right to mess with the log manager * @sdp: the filesystem * */ static inline void gfs2_log_unlock(struct gfs2_sbd *sdp) |
2d81afb87 [GFS2] trivial sp... |
35 |
__releases(&sdp->sd_log_lock) |
b3b94faa5 [GFS2] The core o... |
36 37 38 39 40 41 42 43 44 |
{ spin_unlock(&sdp->sd_log_lock); } static inline void gfs2_log_pointers_init(struct gfs2_sbd *sdp, unsigned int value) { if (++value == sdp->sd_jdesc->jd_blocks) { value = 0; |
b3b94faa5 [GFS2] The core o... |
45 46 47 |
} sdp->sd_log_head = sdp->sd_log_tail = value; } |
ed4878e8a GFS2: Rework recl... |
48 |
extern unsigned int gfs2_struct2blk(struct gfs2_sbd *sdp, unsigned int nstruct, |
b3b94faa5 [GFS2] The core o... |
49 |
unsigned int ssize); |
ed4878e8a GFS2: Rework recl... |
50 51 |
extern int gfs2_log_reserve(struct gfs2_sbd *sdp, unsigned int blks); extern void gfs2_log_incr_head(struct gfs2_sbd *sdp); |
b3b94faa5 [GFS2] The core o... |
52 |
|
ed4878e8a GFS2: Rework recl... |
53 54 |
extern struct buffer_head *gfs2_log_get_buf(struct gfs2_sbd *sdp); extern struct buffer_head *gfs2_log_fake_buf(struct gfs2_sbd *sdp, |
b3b94faa5 [GFS2] The core o... |
55 |
struct buffer_head *real); |
ed4878e8a GFS2: Rework recl... |
56 57 58 |
extern void gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl); extern void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *trans); extern void gfs2_remove_from_ail(struct gfs2_bufdata *bd); |
4667a0ec3 GFS2: Make writeb... |
59 |
extern void gfs2_ail1_flush(struct gfs2_sbd *sdp, struct writeback_control *wbc); |
2bcd610d2 [GFS2] Don't add ... |
60 |
|
ed4878e8a GFS2: Rework recl... |
61 62 63 |
extern void gfs2_log_shutdown(struct gfs2_sbd *sdp); extern void gfs2_meta_syncfs(struct gfs2_sbd *sdp); extern int gfs2_logd(void *data); |
b3b94faa5 [GFS2] The core o... |
64 65 |
#endif /* __LOG_DOT_H__ */ |