mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-03-30 19:15:14 +00:00
nilfs2: get rid of macros for segment summary information
This removes macros to test segment summary flags and redefines a few relevant macros with inline functions. Signed-off-by: Ryusuke Konishi <konishi.ryusuke@lab.ntt.co.jp>
This commit is contained in:
parent
85655484f8
commit
4762077c7b
2 changed files with 17 additions and 15 deletions
|
@ -54,17 +54,6 @@ struct nilfs_segsum_info {
|
||||||
sector_t next;
|
sector_t next;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* macro for the flags */
|
|
||||||
#define NILFS_SEG_HAS_SR(sum) ((sum)->flags & NILFS_SS_SR)
|
|
||||||
#define NILFS_SEG_LOGBGN(sum) ((sum)->flags & NILFS_SS_LOGBGN)
|
|
||||||
#define NILFS_SEG_LOGEND(sum) ((sum)->flags & NILFS_SS_LOGEND)
|
|
||||||
#define NILFS_SEG_DSYNC(sum) ((sum)->flags & NILFS_SS_SYNDT)
|
|
||||||
#define NILFS_SEG_SIMPLEX(sum) \
|
|
||||||
(((sum)->flags & (NILFS_SS_LOGBGN | NILFS_SS_LOGEND)) == \
|
|
||||||
(NILFS_SS_LOGBGN | NILFS_SS_LOGEND))
|
|
||||||
|
|
||||||
#define NILFS_SEG_EMPTY(sum) ((sum)->nblocks == (sum)->nsumblk)
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct nilfs_segment_buffer - Segment buffer
|
* struct nilfs_segment_buffer - Segment buffer
|
||||||
* @sb_super: back pointer to a superblock struct
|
* @sb_super: back pointer to a superblock struct
|
||||||
|
@ -141,6 +130,19 @@ int nilfs_segbuf_extend_payload(struct nilfs_segment_buffer *,
|
||||||
struct buffer_head **);
|
struct buffer_head **);
|
||||||
void nilfs_segbuf_fill_in_segsum(struct nilfs_segment_buffer *);
|
void nilfs_segbuf_fill_in_segsum(struct nilfs_segment_buffer *);
|
||||||
|
|
||||||
|
static inline int nilfs_segbuf_simplex(struct nilfs_segment_buffer *segbuf)
|
||||||
|
{
|
||||||
|
unsigned int flags = segbuf->sb_sum.flags;
|
||||||
|
|
||||||
|
return (flags & (NILFS_SS_LOGBGN | NILFS_SS_LOGEND)) ==
|
||||||
|
(NILFS_SS_LOGBGN | NILFS_SS_LOGEND);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline int nilfs_segbuf_empty(struct nilfs_segment_buffer *segbuf)
|
||||||
|
{
|
||||||
|
return segbuf->sb_sum.nblocks == segbuf->sb_sum.nsumblk;
|
||||||
|
}
|
||||||
|
|
||||||
static inline void
|
static inline void
|
||||||
nilfs_segbuf_add_segsum_buffer(struct nilfs_segment_buffer *segbuf,
|
nilfs_segbuf_add_segsum_buffer(struct nilfs_segment_buffer *segbuf,
|
||||||
struct buffer_head *bh)
|
struct buffer_head *bh)
|
||||||
|
|
|
@ -1914,12 +1914,12 @@ static void nilfs_segctor_complete_write(struct nilfs_sc_info *sci)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!NILFS_SEG_SIMPLEX(&segbuf->sb_sum)) {
|
if (!nilfs_segbuf_simplex(segbuf)) {
|
||||||
if (NILFS_SEG_LOGBGN(&segbuf->sb_sum)) {
|
if (segbuf->sb_sum.flags & NILFS_SS_LOGBGN) {
|
||||||
set_bit(NILFS_SC_UNCLOSED, &sci->sc_flags);
|
set_bit(NILFS_SC_UNCLOSED, &sci->sc_flags);
|
||||||
sci->sc_lseg_stime = jiffies;
|
sci->sc_lseg_stime = jiffies;
|
||||||
}
|
}
|
||||||
if (NILFS_SEG_LOGEND(&segbuf->sb_sum))
|
if (segbuf->sb_sum.flags & NILFS_SS_LOGEND)
|
||||||
clear_bit(NILFS_SC_UNCLOSED, &sci->sc_flags);
|
clear_bit(NILFS_SC_UNCLOSED, &sci->sc_flags);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2082,7 +2082,7 @@ static int nilfs_segctor_do_construct(struct nilfs_sc_info *sci, int mode)
|
||||||
|
|
||||||
/* Avoid empty segment */
|
/* Avoid empty segment */
|
||||||
if (sci->sc_stage.scnt == NILFS_ST_DONE &&
|
if (sci->sc_stage.scnt == NILFS_ST_DONE &&
|
||||||
NILFS_SEG_EMPTY(&sci->sc_curseg->sb_sum)) {
|
nilfs_segbuf_empty(sci->sc_curseg)) {
|
||||||
nilfs_segctor_abort_construction(sci, nilfs, 1);
|
nilfs_segctor_abort_construction(sci, nilfs, 1);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue