From owner-freebsd-fs@FreeBSD.ORG Wed Jun 27 16:14:35 2007 Return-Path: X-Original-To: fs@freebsd.org Delivered-To: freebsd-fs@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 36D5916A468 for ; Wed, 27 Jun 2007 16:14:35 +0000 (UTC) (envelope-from howard0su@gmail.com) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.178]) by mx1.freebsd.org (Postfix) with ESMTP id EB98613C45D for ; Wed, 27 Jun 2007 16:14:34 +0000 (UTC) (envelope-from howard0su@gmail.com) Received: by py-out-1112.google.com with SMTP id u77so443585pyb for ; Wed, 27 Jun 2007 09:14:34 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:cc:mime-version:content-type; b=Gu+/vb1g/h5u+VyvaTfZT6uWHBWv6IDbxMGdkkDTIh8PkM/NVPWb2v8R85Y+6NM3f7X7FpYsQIRa+uLYBuytGwdEuJK/jecAbPgpGL3gC2Fb+zr4zPSDxJE2jNcsWBwRCuQUR9CqyPFuWCEDNrySsj5elIsHTUW9xqAXLtGru4w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:mime-version:content-type; b=BxGpqe6IA0tLz2PWjgwhx/yH/90jACpEd77q/4JSpGMxc8QEkcBssAf7IbJIuhONhB4VtNxZl4bkfnb5ddvSMa1oN7y1aCjlaZkfaAeoCQRX/0muT6Fqfv9vxyuZotoVL7Dm/clApOa+xfgs/4no7l/HjCObzLqqq0iRf30Y8GA= Received: by 10.35.69.11 with SMTP id w11mr1197975pyk.1182960874273; Wed, 27 Jun 2007 09:14:34 -0700 (PDT) Received: by 10.35.78.11 with HTTP; Wed, 27 Jun 2007 09:14:34 -0700 (PDT) Message-ID: Date: Thu, 28 Jun 2007 00:14:34 +0800 From: "Howard Su" To: fs@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: danchi@freebsd.org Subject: unionfs requirement for tmpfs X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Jun 2007 16:14:35 -0000 Hi All, I am working on tmpfs to make it support unionfs. I think I understand the theory of the unionfs. However I want someone can give me some info regarding the implementation details, like ISWHITEOUT, DOWHITEOUT op. As far as I know, a fs can be used as upper level and lower level fs of a unionfs. The requirement should be different: 1. As a upper level (which will be changed. I am more interested to make tmpfs support this) what is the requirement? So far, based on my code reading on ufs/unionfs, I need implement VOP_WHITEOUT with three OPs: LOOKUP, DELETE, CREATE. what' the expctation of input and output, the code reading can not give me a clear answer. ufs use some hacking way to call into ufs code itself to make the logic unclear to me. 2. As a lower level fs. what's the requirement? I have no idea totally. Share me whatever you know, please. -- -Howard