[GFS2] Move gfs2_meta_syncfs() into log.c
By moving gfs2_meta_syncfs() into log.c, gfs2_ail1_start() can be made static. Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
This commit is contained in:
parent
b004157ab5
commit
a25311c8e0
@ -15,6 +15,7 @@
|
|||||||
#include <linux/gfs2_ondisk.h>
|
#include <linux/gfs2_ondisk.h>
|
||||||
#include <linux/crc32.h>
|
#include <linux/crc32.h>
|
||||||
#include <linux/lm_interface.h>
|
#include <linux/lm_interface.h>
|
||||||
|
#include <linux/delay.h>
|
||||||
|
|
||||||
#include "gfs2.h"
|
#include "gfs2.h"
|
||||||
#include "incore.h"
|
#include "incore.h"
|
||||||
@ -142,7 +143,7 @@ static int gfs2_ail1_empty_one(struct gfs2_sbd *sdp, struct gfs2_ail *ai, int fl
|
|||||||
return list_empty(&ai->ai_ail1_list);
|
return list_empty(&ai->ai_ail1_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfs2_ail1_start(struct gfs2_sbd *sdp, int flags)
|
static void gfs2_ail1_start(struct gfs2_sbd *sdp, int flags)
|
||||||
{
|
{
|
||||||
struct list_head *head = &sdp->sd_ail1_list;
|
struct list_head *head = &sdp->sd_ail1_list;
|
||||||
u64 sync_gen;
|
u64 sync_gen;
|
||||||
@ -689,3 +690,21 @@ void gfs2_log_shutdown(struct gfs2_sbd *sdp)
|
|||||||
up_write(&sdp->sd_log_flush_lock);
|
up_write(&sdp->sd_log_flush_lock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* gfs2_meta_syncfs - sync all the buffers in a filesystem
|
||||||
|
* @sdp: the filesystem
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
void gfs2_meta_syncfs(struct gfs2_sbd *sdp)
|
||||||
|
{
|
||||||
|
gfs2_log_flush(sdp, NULL);
|
||||||
|
for (;;) {
|
||||||
|
gfs2_ail1_start(sdp, DIO_ALL);
|
||||||
|
if (gfs2_ail1_empty(sdp, DIO_ALL))
|
||||||
|
break;
|
||||||
|
msleep(10);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@ -48,7 +48,6 @@ static inline void gfs2_log_pointers_init(struct gfs2_sbd *sdp,
|
|||||||
unsigned int gfs2_struct2blk(struct gfs2_sbd *sdp, unsigned int nstruct,
|
unsigned int gfs2_struct2blk(struct gfs2_sbd *sdp, unsigned int nstruct,
|
||||||
unsigned int ssize);
|
unsigned int ssize);
|
||||||
|
|
||||||
void gfs2_ail1_start(struct gfs2_sbd *sdp, int flags);
|
|
||||||
int gfs2_ail1_empty(struct gfs2_sbd *sdp, int flags);
|
int gfs2_ail1_empty(struct gfs2_sbd *sdp, int flags);
|
||||||
|
|
||||||
int gfs2_log_reserve(struct gfs2_sbd *sdp, unsigned int blks);
|
int gfs2_log_reserve(struct gfs2_sbd *sdp, unsigned int blks);
|
||||||
@ -61,5 +60,6 @@ void gfs2_log_flush(struct gfs2_sbd *sdp, struct gfs2_glock *gl);
|
|||||||
void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *trans);
|
void gfs2_log_commit(struct gfs2_sbd *sdp, struct gfs2_trans *trans);
|
||||||
|
|
||||||
void gfs2_log_shutdown(struct gfs2_sbd *sdp);
|
void gfs2_log_shutdown(struct gfs2_sbd *sdp);
|
||||||
|
void gfs2_meta_syncfs(struct gfs2_sbd *sdp);
|
||||||
|
|
||||||
#endif /* __LOG_DOT_H__ */
|
#endif /* __LOG_DOT_H__ */
|
||||||
|
@ -574,20 +574,3 @@ out:
|
|||||||
return first_bh;
|
return first_bh;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* gfs2_meta_syncfs - sync all the buffers in a filesystem
|
|
||||||
* @sdp: the filesystem
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
void gfs2_meta_syncfs(struct gfs2_sbd *sdp)
|
|
||||||
{
|
|
||||||
gfs2_log_flush(sdp, NULL);
|
|
||||||
for (;;) {
|
|
||||||
gfs2_ail1_start(sdp, DIO_ALL);
|
|
||||||
if (gfs2_ail1_empty(sdp, DIO_ALL))
|
|
||||||
break;
|
|
||||||
msleep(10);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
@ -67,7 +67,6 @@ static inline int gfs2_meta_inode_buffer(struct gfs2_inode *ip,
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen);
|
struct buffer_head *gfs2_meta_ra(struct gfs2_glock *gl, u64 dblock, u32 extlen);
|
||||||
void gfs2_meta_syncfs(struct gfs2_sbd *sdp);
|
|
||||||
|
|
||||||
#define buffer_busy(bh) \
|
#define buffer_busy(bh) \
|
||||||
((bh)->b_state & ((1ul << BH_Dirty) | (1ul << BH_Lock) | (1ul << BH_Pinned)))
|
((bh)->b_state & ((1ul << BH_Dirty) | (1ul << BH_Lock) | (1ul << BH_Pinned)))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user