From patchwork Sun Jul 22 07:59:37 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zheng Liu X-Patchwork-Id: 172491 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 74A342C0143 for ; Sun, 22 Jul 2012 17:51:23 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751164Ab2GVHvV (ORCPT ); Sun, 22 Jul 2012 03:51:21 -0400 Received: from mail-pb0-f46.google.com ([209.85.160.46]:34290 "EHLO mail-pb0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751153Ab2GVHvT (ORCPT ); Sun, 22 Jul 2012 03:51:19 -0400 Received: by mail-pb0-f46.google.com with SMTP id rp8so8911989pbb.19 for ; Sun, 22 Jul 2012 00:51:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=ZqDU/5HYGE5g3C3P3fpgV6O81tNXJFU9/WX1nQTxoQc=; b=tL09y8q2tFNMaH1uYDXOSU1OMOFv2H7j2eiy5PLsffAiPf6O2dHwR5m5cbuwOtvbyL eFA7QG4yz1pP91bOJZDopV1szkQNbyFC51YTmVkcT7F3v/g+lERGJBdj+PVk+qn7ffxs afKfQq43cOpZXnRDQjkewbX0vPik0a1C4BXrmLRv4Q2TE8CJOKdyILNvTcT6Crzxkrvb HFoR0Nz+H3QphsVPmY1PCjy8vp+J37azLn54Ps6DxMf4jMQmao4IdwMc441ZS90lD1Q6 U0POxPT9tCYvfJCbfzW4RJ80kVuFhSZ7qb6LqgVqDqMavsQjIZK9zbIOLajqAYLc8jHu OVxA== Received: by 10.68.203.98 with SMTP id kp2mr26145325pbc.132.1342943479042; Sun, 22 Jul 2012 00:51:19 -0700 (PDT) Received: from localhost.localdomain ([182.92.247.2]) by mx.google.com with ESMTPS id ny4sm7497988pbb.57.2012.07.22.00.51.16 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 22 Jul 2012 00:51:18 -0700 (PDT) From: Zheng Liu To: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org Cc: xiaoqiangnk@gmail.com, achender@linux.vnet.ibm.com, wenqing.lz@taobao.com Subject: [RFC][PATCH 01/10 v1][RESEND] ext4: add two structures supporting extent status tree Date: Sun, 22 Jul 2012 15:59:37 +0800 Message-Id: <1342943986-12413-2-git-send-email-wenqing.lz@taobao.com> X-Mailer: git-send-email 1.7.4.1 In-Reply-To: <1342943986-12413-1-git-send-email-wenqing.lz@taobao.com> References: <1342943986-12413-1-git-send-email-wenqing.lz@taobao.com> Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org From: Zheng Liu This patch adds two structures that supports status extent tree and status_extent_info to inode_info. Signed-off-by: Yongqiang Yang Signed-off-by: Allison Henderson Signed-off-by: Zheng Liu --- fs/ext4/ext4.h | 5 +++++ fs/ext4/extents_status.h | 22 ++++++++++++++++++++++ 2 files changed, 27 insertions(+), 0 deletions(-) create mode 100644 fs/ext4/extents_status.h diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index cfc4e01..c0fe23e 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -810,6 +810,8 @@ struct ext4_ext_cache { __u32 ec_len; /* must be 32bit to return holes */ }; +#include "extents_status.h" + /* * fourth extended file system inode data in memory */ @@ -887,6 +889,9 @@ struct ext4_inode_info { struct list_head i_prealloc_list; spinlock_t i_prealloc_lock; + /* extents status tree */ + struct ext4_es_tree i_es_tree; + /* ialloc */ ext4_group_t i_last_alloc_group; diff --git a/fs/ext4/extents_status.h b/fs/ext4/extents_status.h new file mode 100644 index 0000000..d87fd71 --- /dev/null +++ b/fs/ext4/extents_status.h @@ -0,0 +1,22 @@ +/* + * fs/ext4/extents_status.h + * + * Written by Yongqiang Yang + * + */ + +#ifndef _EXT4_EXTENTS_STATUS_H +#define _EXT4_EXTENTS_STATUS_H + +struct extent_status { + struct rb_node rb_node; + ext4_lblk_t start; /* first block extent covers */ + ext4_lblk_t len; /* length of extent in block */ +}; + +struct ext4_es_tree { + struct rb_root root; + struct extent_status *cache_es; /* recently accessed extent */ +}; + +#endif /* _EXT4_EXTENTS_STATUS_H */