<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/hfsplus/dir.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-28T16:32:05Z</updated>
<entry>
<title>Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus</title>
<updated>2010-10-28T16:32:05Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2010-10-28T16:32:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=11cc21f5f5575b9abd14d53a6055ccbf72b67573'/>
<id>urn:sha1:11cc21f5f5575b9abd14d53a6055ccbf72b67573</id>
<content type='text'>
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/hfsplus:
  hfsplus: free space correcly for files unlinked while open
  hfsplus: fix double lock typo in ioctl
</content>
</entry>
<entry>
<title>hfsplus: free space correcly for files unlinked while open</title>
<updated>2010-10-27T11:45:50Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-27T11:45:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=85b8fe8cc47b0dc1068475ba95f29ddff10a8efc'/>
<id>urn:sha1:85b8fe8cc47b0dc1068475ba95f29ddff10a8efc</id>
<content type='text'>
hfsplus_delete_inode only truncates away all block allocations if
i_nlink is zero.  Make sure we properly drop the unlink count even
when doing the rename hack for open but unlinked files.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>new helper: ihold()</title>
<updated>2010-10-26T01:26:11Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2010-10-23T15:11:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f'/>
<id>urn:sha1:7de9c6ee3ecffd99e1628e81a5ea5468f7581a1f</id>
<content type='text'>
Clones an existing reference to inode; caller must already hold one.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
</entry>
<entry>
<title>hfsplus: create correct initial catalog entries for device files</title>
<updated>2010-10-14T13:54:39Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-14T13:54:39Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=90e616905a423126805186cb5754e10a704b30c8'/>
<id>urn:sha1:90e616905a423126805186cb5754e10a704b30c8</id>
<content type='text'>
Make sure the initial insertation of the catalog entry already contains
the device number by calling init_special_inode early and setting writing
out the dev field of the on-disk permission structure.  The latter is
facilitated by sharing the almost identical hfsplus_set_perms helpers
between initial catalog entry creating and -&gt;write_inode.

Unless we crashed just after mknod this bug was harmless as the inode
is marked dirty at the end of hfsplus_mknod, and hfsplus_write_inode
will update the catalog entry to contain the correct value.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: fix link corruption</title>
<updated>2010-10-14T13:54:28Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-14T13:54:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b'/>
<id>urn:sha1:f6089ff87d309a8ddb7b0d4dd92a570f1b0f689b</id>
<content type='text'>
HFS implements hardlink by using indirect catalog entries that refer to a hidden
directly.  The link target is cached in the dev field in the HFS+ specific
inode, which is also used for the device number for device files, and inside
for passing the nlink value of the indirect node from hfsplus_cat_write_inode
to a helper function.  Now if we happen to write out the indirect node while
hfsplus_link is creating the catalog entry we'll get a link pointing to the
linkid of the current nlink value.  This can easily be reproduced by a large
enough loop of local git-clone operations.

Stop abusing the dev field in the HFS+ inode for short term storage by
refactoring the way the permission structure in the catalog entry is
set up, and rename the dev field to linkid to avoid any confusion.

While we're at it also prevent creating hard links to special files, as
the HFS+ dev and linkid share the same space in the on-disk structure.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: fix rename over directories</title>
<updated>2010-10-01T07:12:08Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-01T07:12:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=40de9a7cebc4e0b23cd6863c84c2279f0ccadebb'/>
<id>urn:sha1:40de9a7cebc4e0b23cd6863c84c2279f0ccadebb</id>
<content type='text'>
When renaming over a directory we need to use hfsplus_rmdir instead of
hfsplus_unlink to evict the victim.  This makes sure we properly error out
on non-empty directory as required by Posix (BZ #16571), and it also makes
sure we do the right thing in case i_nlink will every be set correctly for
directories on hfsplus.

Reported-by: Vlado Plaga &lt;rechner@vlado-do.de&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: protect readdir against removals from open_dir_list</title>
<updated>2010-10-01T03:45:25Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-01T03:45:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89755dcace09b44b3aa024bf302d9b19b4c24cad'/>
<id>urn:sha1:89755dcace09b44b3aa024bf302d9b19b4c24cad</id>
<content type='text'>
We already have i_mutex for readdir and the namespace operations that add
entries to open_dir_list, the only thing that was missing was the removal
in hfsplus_dir_release.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: add per-superblock lock for volume header updates</title>
<updated>2010-10-01T03:45:08Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-01T03:45:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7ac9fb9c2a50963b699b3548e6f00698c1554dc6'/>
<id>urn:sha1:7ac9fb9c2a50963b699b3548e6f00698c1554dc6</id>
<content type='text'>
Lock updates to the mutal fields in the volume header, and document the
locing in the hfsplus_sb_info structure.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: fix error handling in hfsplus_symlink</title>
<updated>2010-10-01T03:43:54Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-01T03:43:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f17c89bfcc9cccd405098eac3ec1ebfddf03279e'/>
<id>urn:sha1:f17c89bfcc9cccd405098eac3ec1ebfddf03279e</id>
<content type='text'>
We need to free the inode again on a hfsplus_create_cat failure.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
<entry>
<title>hfsplus: merge mknod/mkdir/creat</title>
<updated>2010-10-01T03:43:50Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2010-10-01T03:43:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=30d3abbec730a5a9c954a6342271f7a7db155b08'/>
<id>urn:sha1:30d3abbec730a5a9c954a6342271f7a7db155b08</id>
<content type='text'>
Make hfsplus_mkdir and hfsplus_create call hfsplus_mknod instead of
duplicating the code.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
</entry>
</feed>
