From owner-svn-src-head@freebsd.org Wed Mar 23 22:12:02 2016 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E0C22ADBB69; Wed, 23 Mar 2016 22:12:02 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) Received: from esa-jnhn.mail.uoguelph.ca (esa-jnhn.mail.uoguelph.ca [131.104.91.44]) by mx1.freebsd.org (Postfix) with ESMTP id 4E9F71E5F; Wed, 23 Mar 2016 22:12:01 +0000 (UTC) (envelope-from rmacklem@uoguelph.ca) IronPort-PHdr: 9a23:zBDqqBdVE7V6+ncjhi1ZP4/nlGMj4u6mDksu8pMizoh2WeGdxc69Yx7h7PlgxGXEQZ/co6odzbGG4+a5BydZvM/JmUtBWaIPfidNsd8RkQ0kDZzNImzAB9muURYHGt9fXkRu5XCxPBsdMs//Y1rPvi/6tmZKSV3BPAZ4bt74BpTVx5zukbviq9uKPU4R2WP1SIgxBSv1hD2ZjtMRj4pmJ/R54TryiVwMRd5rw3h1L0mYhRf265T41pdi9yNNp6BprJYYAu3SNp41Rr1ADTkgL3t9pIiy7UGCHkOz4S42X2MUmx9JBUDm5R3nXd+luCn5uOBm1AGVOMT3SfY/XjH0vIlxTxq9siYMNHYc+WrUjsF1xPZBpRuqpBhyxqbJZ46IOf5mfuXWdIVJFiJ6Qs9NWnkZUcuHZIwVAr9EZL4Aog== X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A2CqBACFE/NW/61jaINehQAGumaBcIJdgzACgXwSAQEBAQEBAQFjJ4ItghUBAQQjVhACAQgOCgICDRkCAlcCBBOIJ7BIkF8BAQEBAQEEAQEBAQEBGnyFIoF7gkmEIQODGIJWBZdaiGOUK48FAicHNIIDGYFlIC6IUTx+AQEB X-IronPort-AV: E=Sophos;i="5.24,383,1454994000"; d="scan'208";a="272429468" Received: from nipigon.cs.uoguelph.ca (HELO zcs1.mail.uoguelph.ca) ([131.104.99.173]) by esa-jnhn.mail.uoguelph.ca with ESMTP; 23 Mar 2016 18:10:52 -0400 Received: from localhost (localhost [127.0.0.1]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id 3432F15F565; Wed, 23 Mar 2016 18:10:52 -0400 (EDT) Received: from zcs1.mail.uoguelph.ca ([127.0.0.1]) by localhost (zcs1.mail.uoguelph.ca [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id ekpG3fxf7Tu0; Wed, 23 Mar 2016 18:10:51 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id A2EE315F56D; Wed, 23 Mar 2016 18:10:51 -0400 (EDT) X-Virus-Scanned: amavisd-new at zcs1.mail.uoguelph.ca Received: from zcs1.mail.uoguelph.ca ([127.0.0.1]) by localhost (zcs1.mail.uoguelph.ca [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id fmI5z1v2c3Y5; Wed, 23 Mar 2016 18:10:51 -0400 (EDT) Received: from zcs1.mail.uoguelph.ca (zcs1.mail.uoguelph.ca [172.17.95.18]) by zcs1.mail.uoguelph.ca (Postfix) with ESMTP id 83E9F15F565; Wed, 23 Mar 2016 18:10:51 -0400 (EDT) Date: Wed, 23 Mar 2016 18:10:51 -0400 (EDT) From: Rick Macklem To: Benjamin Kaduk Cc: Bryan Drewery , "cem@FreeBSD.org" , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Message-ID: <610790279.29237860.1458771051379.JavaMail.zimbra@uoguelph.ca> In-Reply-To: References: <201603222241.u2MMf7ub090070@repo.freebsd.org> Subject: Re: svn commit: r297201 - in head: share/man/man4 sys/dev/filemon MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-Originating-IP: [172.17.95.12] X-Mailer: Zimbra 8.0.9_GA_6191 (ZimbraWebClient - FF44 (Win)/8.0.9_GA_6191) Thread-Topic: svn commit: r297201 - in head: share/man/man4 sys/dev/filemon Thread-Index: ZvfjEWNaByXm3PRvzdvBLAHJp7wxMQ== X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 23 Mar 2016 22:12:03 -0000 Benjamin Kaduk wrote: > On Tue, Mar 22, 2016 at 9:11 PM, Bryan Drewery wrote: > > > > > > > > > The manpage for close(2) does document some errors, one being ENOSPC. The > > close(2) behavior of returning write(2), really VOP_WRITE(9), errors though > > is specific to filemon since all of the writes are hidden and this is the > > only place to return an error. I have a review open to resolve a similar > > issue in alq(9) as well since all of the writes are asynchronous and > > there's no API to retrieve any error from. > > > > filemon is not unique in this regard; the AFS filesystem buffers writes > locally and in some cases errors writing to the remote server can be > delayed until close(). Of course, very few softwares actually check the > return value of close, so this can cause trouble sometimes... > Sorry, but I can't resist a little ancient history... When NFS first showed up in the mid-1980s, the clients would flush writes upon close() in order to detect write errors (usually ENOSPC) and return them to the app. (typically a user trying to save their text edit when the server was out of space or the user was out of quota). At least this way, the editor could tell the user that their text file wasn't saved. Somehow, the flush writes upon close to detect this morphed into "close to open consistency", which was an AFS concept and not an NFS one (which most NFS clients only implement approximately, given attribute caching and modify time precision, but that's another story;-). rick > -Ben >