Skip to content

Commit

Permalink
GFS2: Move gfs2_recoverd into recovery.c
Browse files Browse the repository at this point in the history
By moving gfs2_recoverd, we can make an additional function static
and it also leaves only (the already scheduled for removal) gfs2_glockd
in daemon.c.

At the same time the declaration of gfs2_quotad is moved to quota.h
to reflect the new location of gfs2_quotad in a previous patch. Also
the recovery.h and quota.h headers are cleaned up.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
  • Loading branch information
Steven Whitehouse committed Jan 5, 2009
1 parent 813e0c4 commit 9ac1b4d
Show file tree
Hide file tree
Showing 6 changed files with 45 additions and 43 deletions.
22 changes: 0 additions & 22 deletions fs/gfs2/daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,25 +59,3 @@ int gfs2_glockd(void *data)
return 0;
}

/**
* gfs2_recoverd - Recover dead machine's journals
* @sdp: Pointer to GFS2 superblock
*
*/

int gfs2_recoverd(void *data)
{
struct gfs2_sbd *sdp = data;
unsigned long t;

while (!kthread_should_stop()) {
gfs2_check_journals(sdp);
t = gfs2_tune_get(sdp, gt_recoverd_secs) * HZ;
if (freezing(current))
refrigerator();
schedule_timeout_interruptible(t);
}

return 0;
}

2 changes: 0 additions & 2 deletions fs/gfs2/daemon.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,5 @@
#define __DAEMON_DOT_H__

int gfs2_glockd(void *data);
int gfs2_recoverd(void *data);
int gfs2_quotad(void *data);

#endif /* __DAEMON_DOT_H__ */
1 change: 1 addition & 0 deletions fs/gfs2/ops_fstype.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
#include "sys.h"
#include "util.h"
#include "log.h"
#include "quota.h"

#define DO 0
#define UNDO 1
Expand Down
23 changes: 12 additions & 11 deletions fs/gfs2/quota.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,22 @@ struct gfs2_sbd;

#define NO_QUOTA_CHANGE ((u32)-1)

int gfs2_quota_hold(struct gfs2_inode *ip, u32 uid, u32 gid);
void gfs2_quota_unhold(struct gfs2_inode *ip);
extern int gfs2_quota_hold(struct gfs2_inode *ip, u32 uid, u32 gid);
extern void gfs2_quota_unhold(struct gfs2_inode *ip);

int gfs2_quota_lock(struct gfs2_inode *ip, u32 uid, u32 gid);
void gfs2_quota_unlock(struct gfs2_inode *ip);
extern int gfs2_quota_lock(struct gfs2_inode *ip, u32 uid, u32 gid);
extern void gfs2_quota_unlock(struct gfs2_inode *ip);

int gfs2_quota_check(struct gfs2_inode *ip, u32 uid, u32 gid);
void gfs2_quota_change(struct gfs2_inode *ip, s64 change,
u32 uid, u32 gid);
extern int gfs2_quota_check(struct gfs2_inode *ip, u32 uid, u32 gid);
extern void gfs2_quota_change(struct gfs2_inode *ip, s64 change,
u32 uid, u32 gid);

int gfs2_quota_sync(struct gfs2_sbd *sdp);
int gfs2_quota_refresh(struct gfs2_sbd *sdp, int user, u32 id);
extern int gfs2_quota_sync(struct gfs2_sbd *sdp);
extern int gfs2_quota_refresh(struct gfs2_sbd *sdp, int user, u32 id);

int gfs2_quota_init(struct gfs2_sbd *sdp);
void gfs2_quota_cleanup(struct gfs2_sbd *sdp);
extern int gfs2_quota_init(struct gfs2_sbd *sdp);
extern void gfs2_quota_cleanup(struct gfs2_sbd *sdp);
extern int gfs2_quotad(void *data);

static inline int gfs2_quota_lock_check(struct gfs2_inode *ip)
{
Expand Down
26 changes: 25 additions & 1 deletion fs/gfs2/recovery.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
#include <linux/gfs2_ondisk.h>
#include <linux/crc32.h>
#include <linux/lm_interface.h>
#include <linux/kthread.h>
#include <linux/freezer.h>

#include "gfs2.h"
#include "incore.h"
Expand Down Expand Up @@ -589,7 +591,7 @@ int gfs2_recover_journal(struct gfs2_jdesc *jd)
*
*/

void gfs2_check_journals(struct gfs2_sbd *sdp)
static void gfs2_check_journals(struct gfs2_sbd *sdp)
{
struct gfs2_jdesc *jd;

Expand All @@ -603,3 +605,25 @@ void gfs2_check_journals(struct gfs2_sbd *sdp)
}
}

/**
* gfs2_recoverd - Recover dead machine's journals
* @sdp: Pointer to GFS2 superblock
*
*/

int gfs2_recoverd(void *data)
{
struct gfs2_sbd *sdp = data;
unsigned long t;

while (!kthread_should_stop()) {
gfs2_check_journals(sdp);
t = gfs2_tune_get(sdp, gt_recoverd_secs) * HZ;
if (freezing(current))
refrigerator();
schedule_timeout_interruptible(t);
}

return 0;
}

14 changes: 7 additions & 7 deletions fs/gfs2/recovery.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,17 @@ static inline void gfs2_replay_incr_blk(struct gfs2_sbd *sdp, unsigned int *blk)
*blk = 0;
}

int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk,
extern int gfs2_replay_read_block(struct gfs2_jdesc *jd, unsigned int blk,
struct buffer_head **bh);

int gfs2_revoke_add(struct gfs2_sbd *sdp, u64 blkno, unsigned int where);
int gfs2_revoke_check(struct gfs2_sbd *sdp, u64 blkno, unsigned int where);
void gfs2_revoke_clean(struct gfs2_sbd *sdp);
extern int gfs2_revoke_add(struct gfs2_sbd *sdp, u64 blkno, unsigned int where);
extern int gfs2_revoke_check(struct gfs2_sbd *sdp, u64 blkno, unsigned int where);
extern void gfs2_revoke_clean(struct gfs2_sbd *sdp);

int gfs2_find_jhead(struct gfs2_jdesc *jd,
extern int gfs2_find_jhead(struct gfs2_jdesc *jd,
struct gfs2_log_header_host *head);
int gfs2_recover_journal(struct gfs2_jdesc *gfs2_jd);
void gfs2_check_journals(struct gfs2_sbd *sdp);
extern int gfs2_recover_journal(struct gfs2_jdesc *gfs2_jd);
extern int gfs2_recoverd(void *data);

#endif /* __RECOVERY_DOT_H__ */

0 comments on commit 9ac1b4d

Please sign in to comment.