Re: [PATCH] hpfs: don't truncate the file when delete fails

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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.

Mikulas
--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux