From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tommi Virtanen Subject: Re: long object names Date: Fri, 22 Apr 2011 09:34:59 -0700 Message-ID: <20110422163459.GA16595@dreamer> References: <20110421185606.GC9431@dreamer> <20110421193240.GA26545@dreamer> <99672323C62444DFA181A0659E4D37FC@gmail.com> <20110421220044.GB26545@dreamer> <20110421230744.GC26545@dreamer> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from mail.hq.newdream.net ([66.33.206.127]:43054 "EHLO mail.hq.newdream.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756154Ab1DVQev (ORCPT ); Fri, 22 Apr 2011 12:34:51 -0400 Content-Disposition: inline In-Reply-To: Sender: ceph-devel-owner@vger.kernel.org List-ID: To: Sage Weil Cc: Yehuda Sadeh Weinraub , Gregory Farnum , ceph-devel@vger.kernel.org On Fri, Apr 22, 2011 at 08:44:49AM -0700, Sage Weil wrote: > - We can easily wrap the non-fast past with a mutex to avoid the races > (because, again, collisions are vanishingly rare except in our test > cases). How do you guard against crashes, e.g. the create+set_xattr crashing before set_xattr? How do you guard against gaps in the sequence number thing? (Perhaps make that part a random string, and change consumers to listdir instead of probing 1,2,3...) How do you convince yourself you've covered all the races? > - For simplicity, I still think the simplest thing will be to push all the > escaping/mangling into one layer. Once place to audit and unit test. I think the big functional benefit with that is that you can have the suffix not be obscured by the hash; FOO_a43fec_n_head not FOO_a43fec_n -- :(){ :|:&};: