<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/hpfs/namei.c, branch linux-3.2.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.2.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2016-04-01T00:54:35Z</updated>
<entry>
<title>hpfs: don't truncate the file when delete fails</title>
<updated>2016-04-01T00:54:35Z</updated>
<author>
<name>Mikulas Patocka</name>
</author>
<published>2016-02-25T17:17:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6a12cf844fe7fdf154bee04b274a4e14c157c3c7'/>
<id>urn:sha1:6a12cf844fe7fdf154bee04b274a4e14c157c3c7</id>
<content type='text'>
commit b6853f78e763d42c7a158d8de3549c9827c604ab upstream.

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 &lt;viro@ZenIV.linux.org.uk&gt;
Signed-off-by: Mikulas Patocka &lt;mikulas@artax.karlin.mff.cuni.cz&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
[bwh: Backported to 3.2: deleted code is slightly different]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
</content>
</entry>
<entry>
<title>filesystems: add set_nlink()</title>
<updated>2011-11-02T11:53:43Z</updated>
<author>
<name>Miklos Szeredi</name>
</author>
<published>2011-10-28T12:13:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bfe8684869601dacfcb2cd69ef8cfd9045f62170'/>
<id>urn:sha1:bfe8684869601dacfcb2cd69ef8cfd9045f62170</id>
<content type='text'>
Replace remaining direct i_nlink updates with a new set_nlink()
updater function.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Tested-by: Toshiyuki Okajima &lt;toshi.okajima@jp.fujitsu.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>-&gt;permission() sanitizing: don't pass flags to generic_permission()</title>
<updated>2011-07-20T05:43:22Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-06-20T23:16:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2830ba7f34ebb27c4e5b8b6ef408cd6d74860890'/>
<id>urn:sha1:2830ba7f34ebb27c4e5b8b6ef408cd6d74860890</id>
<content type='text'>
redundant; all callers get it duplicated in mask &amp; MAY_NOT_BLOCK and none of
them removes that bit.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>kill check_acl callback of generic_permission()</title>
<updated>2011-07-20T05:43:16Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-06-20T15:31:30Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=178ea73521d64ba41d7aa5488fb9f549c6d4507d'/>
<id>urn:sha1:178ea73521d64ba41d7aa5488fb9f549c6d4507d</id>
<content type='text'>
its value depends only on inode and does not change; we might as
well store it in -&gt;i_op-&gt;check_acl and be done with that.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>hpfs: remove unnecessary dentry_unhash on rmdir, dir rename</title>
<updated>2011-05-28T05:02:54Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-27T20:42:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=45adfef7d023004ff95bf63b5f2f0e2d88afac3f'/>
<id>urn:sha1:45adfef7d023004ff95bf63b5f2f0e2d88afac3f</id>
<content type='text'>
Hpfs has no problems with references to unlinked directories.

We leave one dentry_unhash call in place, in hpfs_unlink's strange path
where it tries to truncate a file because the disk is full.  I'm not sure
what the full story is there.

CC: Mikulas Patocka &lt;mikulas@artax.karlin.mff.cuni.cz&gt;
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6</title>
<updated>2011-05-26T16:52:14Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2011-05-26T16:52:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=32e51f141fd8d880f57b6a2eb53ce72856254d4a'/>
<id>urn:sha1:32e51f141fd8d880f57b6a2eb53ce72856254d4a</id>
<content type='text'>
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6: (25 commits)
  cifs: remove unnecessary dentry_unhash on rmdir/rename_dir
  ocfs2: remove unnecessary dentry_unhash on rmdir/rename_dir
  exofs: remove unnecessary dentry_unhash on rmdir/rename_dir
  nfs: remove unnecessary dentry_unhash on rmdir/rename_dir
  ext2: remove unnecessary dentry_unhash on rmdir/rename_dir
  ext3: remove unnecessary dentry_unhash on rmdir/rename_dir
  ext4: remove unnecessary dentry_unhash on rmdir/rename_dir
  btrfs: remove unnecessary dentry_unhash in rmdir/rename_dir
  ceph: remove unnecessary dentry_unhash calls
  vfs: clean up vfs_rename_other
  vfs: clean up vfs_rename_dir
  vfs: clean up vfs_rmdir
  vfs: fix vfs_rename_dir for FS_RENAME_DOES_D_MOVE filesystems
  libfs: drop unneeded dentry_unhash
  vfs: update dentry_unhash() comment
  vfs: push dentry_unhash on rename_dir into file systems
  vfs: push dentry_unhash on rmdir into file systems
  vfs: remove dget() from dentry_unhash()
  vfs: dentry_unhash immediately prior to rmdir
  vfs: Block mmapped writes while the fs is frozen
  ...
</content>
</entry>
<entry>
<title>vfs: push dentry_unhash on rename_dir into file systems</title>
<updated>2011-05-26T11:26:48Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-24T20:06:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4eaac06bcccb2a70bca6a2de9871882dce2aa14'/>
<id>urn:sha1:e4eaac06bcccb2a70bca6a2de9871882dce2aa14</id>
<content type='text'>
Only a few file systems need this.  Start by pushing it down into each
rename method (except gfs2 and xfs) so that it can be dealt with on a
per-fs basis.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: push dentry_unhash on rmdir into file systems</title>
<updated>2011-05-26T11:26:47Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-24T20:06:06Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=79bf7c732b5ff75b96022ed9d29181afd3d2509c'/>
<id>urn:sha1:79bf7c732b5ff75b96022ed9d29181afd3d2509c</id>
<content type='text'>
Only a few file systems need this.  Start by pushing it down into each
fs rmdir method (except gfs2 and xfs) so it can be dealt with on a per-fs
basis.

This does not change behavior for any in-tree file systems.

Acked-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>vfs: remove dget() from dentry_unhash()</title>
<updated>2011-05-26T11:26:46Z</updated>
<author>
<name>Sage Weil</name>
</author>
<published>2011-05-24T20:06:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=64252c75a2196a0cf1e0d3777143ecfe0e3ae650'/>
<id>urn:sha1:64252c75a2196a0cf1e0d3777143ecfe0e3ae650</id>
<content type='text'>
This serves no useful purpose that I can discern.  All callers (rename,
rmdir) hold their own reference to the dentry.

A quick audit of all file systems showed no relevant checks on the value
of d_count in vfs_rmdir/vfs_rename_dir paths.

Signed-off-by: Sage Weil &lt;sage@newdream.net&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>HPFS: Remove unused variable</title>
<updated>2011-05-09T16:04:24Z</updated>
<author>
<name>Mikulas Patocka</name>
</author>
<published>2011-05-08T18:44:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=88f4e9e870c01452e57a6943c04c8d62f6a0a7a6'/>
<id>urn:sha1:88f4e9e870c01452e57a6943c04c8d62f6a0a7a6</id>
<content type='text'>
Remove unused variable

Signed-off-by: Mikulas Patocka &lt;mikulas@artax.karlin.mff.cuni.cz&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
