Re: [PATCH] hpfs: don't truncate the file when delete fails
From: Mikulas Patocka
Date: Thu Feb 25 2016 - 12:38:35 EST
On Thu, 25 Feb 2016, Al Viro wrote:
> On Thu, Feb 25, 2016 at 06:17:38PM +0100, Mikulas Patocka wrote:
> > The delete opration can allocate additional space on the HPFS filesystem
> > due to btree split. The HPFS driver checks in advance if there is
> > available space, so that it won't corrupt the btree if we run out of space
> > during splitting.
> > If there is not enough available space, the HPFS driver attempted to
> > truncate the file, but this results in a deadlock since the commit
> > 7dd29d8d865efdb00c0542a5d2c87af8c52ea6c7 ("HPFS: Introduce a global mutex
> > and lock it on every callback from VFS").
> > This patch removes the code that tries to truncate the file and -ENOSPC is
> > returned instead. If the user hits -ENOSPC on delete, he should try to
> > delete other files (that are stored in a leaf btree node), so that the
> > delete operation will make some space for deleting the file stored in
> > non-leaf btree node.
> > Reported-by: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
> > Signed-off-by: Mikulas Patocka <mikulas@xxxxxxxxxxxxxxxxxxxxxxxx>
> > Cc: stable@xxxxxxxxxxxxxxx # 2.6.39+
> Picked, but I don't understand that Cc: stable...
This bug is in all kernels since 2.6.39, so I marked it that way so that
it will be picked by stable kernel maintainers.