From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Frank Filz" Subject: RE: [RFC PATCH 0/5] locks: implement "filp-private" (aka UNPOSIX) locks Date: Sat, 12 Oct 2013 11:12:03 -0700 Message-ID: <024101cec776$8f004130$ad00c390$@mindspring.com> References: <1381494322-2426-1-git-send-email-jlayton@redhat.com> <20131011200756.GB22160@fieldses.org> <20131011192118.483e436f@tlielax.poochiereds.net> <20131011234923.GD8688@samba2> <20131011204244.72c2d672@corrin.poochiereds.net> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: "'Jeremy Allison'" , "'Andreas Dilger'" , , "'Ganesha NFS List'" , , "'Linux Kernel Mailing List'" To: "'Jeff Layton'" , "'Scott Lovenberg'" Return-path: In-Reply-To: <20131011204244.72c2d672@corrin.poochiereds.net> Content-Language: en-us Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org > This blog post of Jeremy's explains some of the history: > > > http://www.samba.org/samba/news/articles/low_point/tale_two_stds_os2 > .html > > See the section entitled "First Implementation Past the Post". Interesting that Jeremy actually suggested the implementation should have had an arbitrary lock owner as part of the flock structure: "This is an example of a POSIX interface not being future-proofed against modern techniques such as threading. A simple amendment to the original primitive allowing a user-defined "locking context" (like a process id) to be entered in the struct flock structure used to define the lock would have fixed this problem, along with extra flags allowing the number of locks per context to be recorded if needed." But I'm happy with the lock context per kernel struct file as a solution, especially since that will allow locks to be sensibly passed to a forked process. Another next step would be an asynchronous blocking lock... Frank