From 7fb1afcbe02dcba130745f072b01104541ea56f1 Mon Sep 17 00:00:00 2001 From: Christoph Hellwig Date: Wed, 2 Nov 2005 10:29:39 +1100 Subject: [PATCH] --- yaml --- r: 12185 b: refs/heads/master c: c86e711ceb4ad03c98a7aa29bcab8613e9f57788 h: refs/heads/master i: 12183: 20b476fddc021dbfc93b5dc479c85f5e73c1927c v: v3 --- [refs] | 2 +- trunk/fs/xfs/linux-2.6/xfs_buf.c | 8 ++++---- trunk/fs/xfs/linux-2.6/xfs_buf.h | 8 ++++---- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/[refs] b/[refs] index 2c1fd5fbea73..2811f004a4c6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: d0cfb37305baef74903872cbb799174d0d353fd9 +refs/heads/master: c86e711ceb4ad03c98a7aa29bcab8613e9f57788 diff --git a/trunk/fs/xfs/linux-2.6/xfs_buf.c b/trunk/fs/xfs/linux-2.6/xfs_buf.c index 4663f7dbff1c..660c24acb640 100644 --- a/trunk/fs/xfs/linux-2.6/xfs_buf.c +++ b/trunk/fs/xfs/linux-2.6/xfs_buf.c @@ -286,7 +286,7 @@ _pagebuf_initialize( * most cases but may be reset (e.g. XFS recovery). */ pb->pb_buffer_length = pb->pb_count_desired = range_length; - pb->pb_flags = flags | PBF_NONE; + pb->pb_flags = flags; pb->pb_bn = XFS_BUF_DADDR_NULL; atomic_set(&pb->pb_pin_count, 0); init_waitqueue_head(&pb->pb_waiters); @@ -458,8 +458,8 @@ _pagebuf_lookup_pages( unlock_page(bp->pb_pages[i]); } - if (page_count) - bp->pb_flags &= ~PBF_NONE; + if (page_count == bp->pb_page_count) + bp->pb_flags |= PBF_DONE; PB_TRACE(bp, "lookup_pages", (long)page_count); return error; @@ -1119,7 +1119,7 @@ pagebuf_iodone( { pb->pb_flags &= ~(PBF_READ | PBF_WRITE); if (pb->pb_error == 0) - pb->pb_flags &= ~PBF_NONE; + pb->pb_flags |= PBF_DONE; PB_TRACE(pb, "iodone", pb->pb_iodone); diff --git a/trunk/fs/xfs/linux-2.6/xfs_buf.h b/trunk/fs/xfs/linux-2.6/xfs_buf.h index fa21d1f9cb0b..882901ca7eed 100644 --- a/trunk/fs/xfs/linux-2.6/xfs_buf.h +++ b/trunk/fs/xfs/linux-2.6/xfs_buf.h @@ -70,7 +70,7 @@ typedef enum page_buf_flags_e { /* pb_flags values */ PBF_WRITE = (1 << 1), /* buffer intended for writing to device */ PBF_MAPPED = (1 << 2), /* buffer mapped (pb_addr valid) */ PBF_ASYNC = (1 << 4), /* initiator will not wait for completion */ - PBF_NONE = (1 << 5), /* buffer not read at all */ + PBF_DONE = (1 << 5), /* all pages in the buffer uptodate */ PBF_DELWRI = (1 << 6), /* buffer has dirty pages */ PBF_STALE = (1 << 7), /* buffer has been staled, do not find it */ PBF_FS_MANAGED = (1 << 8), /* filesystem controls freeing memory */ @@ -371,9 +371,9 @@ extern void pagebuf_trace( #define XFS_BUF_GETERROR(x) pagebuf_geterror(x) #define XFS_BUF_ISERROR(x) (pagebuf_geterror(x)?1:0) -#define XFS_BUF_DONE(x) ((x)->pb_flags &= ~PBF_NONE) -#define XFS_BUF_UNDONE(x) ((x)->pb_flags |= PBF_NONE) -#define XFS_BUF_ISDONE(x) (((x)->pb_flags & PBF_NONE) == 0) +#define XFS_BUF_DONE(x) ((x)->pb_flags |= PBF_DONE) +#define XFS_BUF_UNDONE(x) ((x)->pb_flags &= ~PBF_DONE) +#define XFS_BUF_ISDONE(x) ((x)->pb_flags & PBF_DONE) #define XFS_BUF_BUSY(x) do { } while (0) #define XFS_BUF_UNBUSY(x) do { } while (0)