From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: Re: [git pull] vfs pile 1 Date: Sun, 8 Jan 2012 23:53:38 +0000 Message-ID: <20120108235338.GR23916@ZenIV.linux.org.uk> References: <20120105022318.GG23916@ZenIV.linux.org.uk> <20120108235039.GQ23916@ZenIV.linux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Miklos Szeredi , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, Toshiyuki Okajima To: Linus Torvalds Return-path: Content-Disposition: inline In-Reply-To: <20120108235039.GQ23916@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sun, Jan 08, 2012 at 11:50:40PM +0000, Al Viro wrote: > WTF is ext4_symlink() doing in case of long symlinks? Look: > drop_nlink(inode); > err = ext4_orphan_add(handle, inode); > ext4_journal_stop(handle); > [write symlink body] > inc_nlink(inode); > err = ext4_orphan_del(handle, inode); > oh, I see... The comment above that re deadlocks and inability to do that > in a single transaction ;-/ > > OK, try this; that's equivalent to what they are doing and will not WARN_ON(); > I hadn't checked other filesystems for similar tricks yet, so this has a good > chance of being incomplete. ... and sure enough, ext3 has the same piece of fun.