From patchwork Mon Dec 24 07:55:36 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zheng Liu X-Patchwork-Id: 208038 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 5DF6B2C008F for ; Mon, 24 Dec 2012 18:49:31 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752892Ab2LXHt3 (ORCPT ); Mon, 24 Dec 2012 02:49:29 -0500 Received: from mail-da0-f43.google.com ([209.85.210.43]:55562 "EHLO mail-da0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752889Ab2LXHt3 (ORCPT ); Mon, 24 Dec 2012 02:49:29 -0500 Received: by mail-da0-f43.google.com with SMTP id u36so3056964dak.16 for ; Sun, 23 Dec 2012 23:49:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer:in-reply-to :references; bh=Dg68juNLtJZ2EiwzGnk+7eBU3+U0Odk+Ci86DTA2mPs=; b=QQc0IVS8pNLWgki46aanVFWzwgrL7Nk1OnXCgFAmcUIfBjpvAAXtGpjH5bYXSJ/eoQ nYnPfqAGJKh6lfR3GOeXTBjmYNF6SV14ZCcEusiJXzO8UBm5Gv03HQh2LP9qg08MoLuw CNw1cAYFB0lvZq5+2QJ5DqpL1SrpzUcQ3hGfU4Zr3Z5lS2gQoTpPFWxzYDFIsz2//b5R tVzN2ZFc6FS4eF2A3uG5iAgC2pvJB8+rza32d90eenH3yNLFWkQp2DaeYPuBFzWGNxWU oT+1SKJgS7hk+p7o3zWXm7NgwUguOPWuhDe+3+bVQi16aOujCUA1yLPAVsGLeX7rcjNM zTrg== X-Received: by 10.68.233.201 with SMTP id ty9mr65846359pbc.14.1356334944065; Sun, 23 Dec 2012 23:42:24 -0800 (PST) Received: from lz-desktop.taobao.ali.com ([182.92.247.2]) by mx.google.com with ESMTPS id u1sm12392909pav.16.2012.12.23.23.42.22 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 23 Dec 2012 23:42:23 -0800 (PST) From: Zheng Liu To: linux-ext4@vger.kernel.org Cc: Zheng Liu Subject: [RFC][PATCH 3/9 v1] ext4: add physical block and status member into extent status tree Date: Mon, 24 Dec 2012 15:55:36 +0800 Message-Id: <1356335742-11793-4-git-send-email-wenqing.lz@taobao.com> X-Mailer: git-send-email 1.7.12.rc2.18.g61b472e In-Reply-To: <1356335742-11793-1-git-send-email-wenqing.lz@taobao.com> References: <1356335742-11793-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 es_pblk is used to record physical block that maps to the disk. es_status is used to record the status of the extent. Three status are defined, which are written, unwritten and delayed. Signed-off-by: Zheng Liu --- fs/ext4/extents_status.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/fs/ext4/extents_status.h b/fs/ext4/extents_status.h index 81e9339..85115bb 100644 --- a/fs/ext4/extents_status.h +++ b/fs/ext4/extents_status.h @@ -20,10 +20,18 @@ #define es_debug(fmt, ...) no_printk(fmt, ##__VA_ARGS__) #endif +enum { + EXTENT_STATUS_WRITTEN = 0, /* written extent */ + EXTENT_STATUS_UNWRITTEN = 1, /* unwritten extent */ + EXTENT_STATUS_DELAYED = 2, /* delayed extent */ +}; + struct extent_status { struct rb_node rb_node; ext4_lblk_t es_lblk; /* first logical block extent covers */ ext4_lblk_t es_len; /* length of extent in block */ + ext4_fsblk_t es_pblk; /* first physical block */ + int es_status; /* record the status of extent */ }; struct ext4_es_tree {