Jeffrey Wu
2009-Aug-30 03:16 UTC
[PATCH] Btrfs: improved the BIO_RW_DISCARD function definition
(sorry, the last mail is sent by a mistake, resent this time).
The conditional compile func definition shall better not be defined this way:
static int btrfs_issue_discard()
{
#ifdef BIO_RW_DISCARD
...
#else
return 0;
#endif
}
instead, can be better done this way:
#ifndef BIO_RW_DISCARD
static int btrfs_issue_discard()
{
return 0;
}
#endif
#ifdef BIO_RW_DISCARD
static int btrfs_issue_discard()
{
...
}
#endif
Signed-off-by: Jeffrey Wu <jwu@lkdn.net>
---
fs/btrfs/extent-tree.c | 20 +++++++++++++++-----
1 files changed, 15 insertions(+), 5 deletions(-)
diff --git a/fs/btrfs/extent-tree.c b/fs/btrfs/extent-tree.c
index 72a2b9c..4ccd94a 100644
--- a/fs/btrfs/extent-tree.c
+++ b/fs/btrfs/extent-tree.c
@@ -62,6 +62,20 @@ static int do_chunk_alloc(struct btrfs_trans_handle *trans,
struct btrfs_root *extent_root, u64 alloc_bytes,
u64 flags, int force);
+#ifndef BIO_RW_DISCARD
+static void btrfs_issue_discard(struct block_device *bdev,
+ u64 start, u64 len)
+{
+ return;
+}
+
+static int btrfs_discard_extent(struct btrfs_root *root, u64 bytenr,
+ u64 num_bytes)
+{
+ return 0;
+}
+#endif
+
static noinline int
block_group_cache_done(struct btrfs_block_group_cache *cache)
{
@@ -1513,12 +1527,10 @@ static void btrfs_issue_discard(struct block_device
*bdev,
{
blkdev_issue_discard(bdev, start >> 9, len >> 9, GFP_KERNEL);
}
-#endif
static int btrfs_discard_extent(struct btrfs_root *root, u64 bytenr,
u64 num_bytes)
{
-#ifdef BIO_RW_DISCARD
int ret;
u64 map_length = num_bytes;
struct btrfs_multi_bio *multi = NULL;
@@ -1542,10 +1554,8 @@ static int btrfs_discard_extent(struct btrfs_root *root,
u64 bytenr,
}
return ret;
-#else
- return 0;
-#endif
}
+#endif
int btrfs_inc_extent_ref(struct btrfs_trans_handle *trans,
struct btrfs_root *root,
--
1.6.0.4
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs"
in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html