From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [RFC] killing boilerplate checks in ->link/->mkdir/->rename Date: Fri, 3 Feb 2012 17:08:25 +0000 Message-ID: <20120203170825.GX23916@ZenIV.linux.org.uk> References: <20120202012258.GQ23916@ZenIV.linux.org.uk> <20120202212400.GR23916@ZenIV.linux.org.uk> <20120203011612.GS23916@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, Linus Torvalds To: Artem Bityutskiy Return-path: Content-Disposition: inline In-Reply-To: <20120203011612.GS23916@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Fri, Feb 03, 2012 at 01:16:12AM +0000, Al Viro wrote: > * ubifs, hfsplus, jffs2 - definitely broken if you create enough > links. i_nlink wraparound to zero, confused inode eviction logics. BTW, ubifs plays funny games with i_nlink - decrements it early in unlink/rmdir/rename and then increments it back on failure. *If* we really want it that way, we need to use set_nlink() there. Frankly, I'd rather deal with drop_nlink() after the last possible failure exit... Unless there are serious reasons why that wouldn't work, that is. Artem?