From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: chunkd on-disk format update Date: Sun, 04 Jul 2010 02:08:29 -0400 Message-ID: <4C30255D.3040901@garzik.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:subject:content-type :content-transfer-encoding; bh=ajS8lb7I2Yn3SJlqMYknsQFqsSHlEjIy4MJGl2d0odQ=; b=PvFSRjZbiBMJuNJirzUyfkIm+mQ8XTiODgfkUnGMTH1DrbWAr1hbVVL4g7wgNNZv58 A7MwVBGCHUFs9VqVO/dlxYTuYYqAtkVSsN1Ps24UDx52zdhPRXZFNtOHMuqfRrJyc81P e17NztQwrs8gARljsDs7g+dcZiB78eoHgg2ms= Sender: hail-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Project Hail A disruptive chunkd on-disk file format change was just pushed to hail.git. It is a minor format update, but it is incompatible. chunkd v0.8+ objects are now binary-incompatible with the just-released chunkd v0.7. The update adds a magic number and object size to the on-disk object header (struct be_fs_obj_hdr), plus some reserved space for future additions. The magic number and object size add easy (and CPU-inexpensive) sanity checks to the object I/O code. The object size field is largely redundant, intended mainly for disaster recovery. However, storing the object size enables the file format to support multiple objects inside a single POSIX filesystem file. Hopefully this means implementing an APPEND operation in chunkd is now feasible. But if APPEND falls through, these two new be_fs_obj_hdr members retain some utility anyway. Jeff