2010/1/27 Liuwenyi<qingshenlwy@xxxxxxxxx>:Yes, I agree with you, this code is safe.
In this patch, I adjust the seqence of if-conditions.Why do you want to do this? The code is perfect safe even
It will assess the page->private situation.
First, we make sure the page->private is not null.
And then, we can do some with this page->private.
---
Signed-off-by: Liuwenyi<qingshenlwy@xxxxxxxxx>
Cc: Chris Mason<chris.mason@xxxxxxxxxx>
Cc: Yan Zheng<zheng.yan@xxxxxxxxxx>
Cc: Josef Bacik<jbacik@xxxxxxxxxx>
Cc: Jens Axboe<jens.axboe@xxxxxxxxxx>
Cc: linux-btrfs@xxxxxxxxxxxxxxx
Cc: linux-kernel@xxxxxxxxxxxxxxx
---
fs/btrfs/disk-io.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 009e3bd..a300dca 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1407,11 +1407,11 @@ static int bio_ready_for_csum(struct bio *bio)
bio_for_each_segment(bvec, bio, i) {
page = bvec->bv_page;
- if (page->private == EXTENT_PAGE_PRIVATE) {
+ if (!page->private) {
length += bvec->bv_len;
continue;
}
- if (!page->private) {
+ if (page->private == EXTENT_PAGE_PRIVATE) {
length += bvec->bv_len;
continue;
}
--
page->private is NULL. Furthermore, your patch is malformed.
Yan, Zheng