X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=fs%2Fxfs%2Flinux-2.6%2Fxfs_buf.h;h=242ba07d6168b9b40d17702cad5876452f413f29;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=f97e6c0cd597d9a3848f5dccddc0b1961d3ed265;hpb=e812ccbe0c915857ebea6a632bfadc631f7504a9;p=linux-2.6.git diff --git a/fs/xfs/linux-2.6/xfs_buf.h b/fs/xfs/linux-2.6/xfs_buf.h index f97e6c0cd..242ba07d6 100644 --- a/fs/xfs/linux-2.6/xfs_buf.h +++ b/fs/xfs/linux-2.6/xfs_buf.h @@ -347,27 +347,15 @@ extern void pagebuf_trace( #define XFS_BUF_ISSTALE(x) ((x)->pb_flags & XFS_B_STALE) #define XFS_BUF_SUPER_STALE(x) do { \ XFS_BUF_STALE(x); \ - xfs_buf_undelay(x); \ + pagebuf_delwri_dequeue(x); \ XFS_BUF_DONE(x); \ } while (0) #define XFS_BUF_MANAGE PBF_FS_MANAGED #define XFS_BUF_UNMANAGE(x) ((x)->pb_flags &= ~PBF_FS_MANAGED) -static inline void xfs_buf_undelay(xfs_buf_t *pb) -{ - if (pb->pb_flags & PBF_DELWRI) { - if (pb->pb_list.next != &pb->pb_list) { - pagebuf_delwri_dequeue(pb); - pagebuf_rele(pb); - } else { - pb->pb_flags &= ~PBF_DELWRI; - } - } -} - #define XFS_BUF_DELAYWRITE(x) ((x)->pb_flags |= PBF_DELWRI) -#define XFS_BUF_UNDELAYWRITE(x) xfs_buf_undelay(x) +#define XFS_BUF_UNDELAYWRITE(x) pagebuf_delwri_dequeue(x) #define XFS_BUF_ISDELAYWRITE(x) ((x)->pb_flags & PBF_DELWRI) #define XFS_BUF_ERROR(x,no) pagebuf_ioerror(x,no) @@ -500,7 +488,7 @@ static inline int xfs_bawrite(void *mp, xfs_buf_t *bp) { bp->pb_fspriv3 = mp; bp->pb_strat = xfs_bdstrat_cb; - xfs_buf_undelay(bp); + pagebuf_delwri_dequeue(bp); return pagebuf_iostart(bp, PBF_WRITE | PBF_ASYNC | _PBF_RUN_QUEUES); } @@ -540,7 +528,7 @@ static inline int XFS_bwrite(xfs_buf_t *pb) if (!iowait) pb->pb_flags |= _PBF_RUN_QUEUES; - xfs_buf_undelay(pb); + pagebuf_delwri_dequeue(pb); pagebuf_iostrategy(pb); if (iowait) { error = pagebuf_iowait(pb); @@ -578,7 +566,7 @@ static inline int xfs_bdwrite(void *mp, xfs_buf_t *bp) extern xfs_buftarg_t *xfs_alloc_buftarg(struct block_device *); extern void xfs_free_buftarg(xfs_buftarg_t *, int); -extern void xfs_setsize_buftarg(xfs_buftarg_t *, unsigned int, unsigned int); +extern int xfs_setsize_buftarg(xfs_buftarg_t *, unsigned int, unsigned int); extern void xfs_incore_relse(xfs_buftarg_t *, int, int); extern int xfs_flush_buftarg(xfs_buftarg_t *, int);