<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux-toradex.git/fs/hfsplus/ioctl.c, branch v3.7.2</title>
<subtitle>Linux kernel for Apalis and Colibri modules</subtitle>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/'/>
<entry>
<title>hfsplus: fix bless ioctl when used with hardlinks</title>
<updated>2012-06-17T21:39:59+00:00</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2012-06-17T21:05:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=7dea9665fee828fb56db3bae5b9685d9fa006d33'/>
<id>7dea9665fee828fb56db3bae5b9685d9fa006d33</id>
<content type='text'>
HFS+ doesn't really implement hard links - instead, hardlinks are indicated
by a magic file type which refers to an indirect node in a hidden
directory. The spec indicates that stat() should return the inode number
of the indirect node, but it turns out that this doesn't satisfy the
firmware when it's looking for a bootloader - it wants the catalog ID of
the hardlink file instead. Fix up this case.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
HFS+ doesn't really implement hard links - instead, hardlinks are indicated
by a magic file type which refers to an indirect node in a hidden
directory. The spec indicates that stat() should return the inode number
of the indirect node, but it turns out that this doesn't satisfy the
firmware when it's looking for a bootloader - it wants the catalog ID of
the hardlink file instead. Fix up this case.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: add an ioctl to bless files</title>
<updated>2012-03-21T01:29:53+00:00</updated>
<author>
<name>Matthew Garrett</name>
<email>mjg@redhat.com</email>
</author>
<published>2012-02-06T20:14:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a051f71ce97c53cde3ac64de64eb02d658d9308e'/>
<id>a051f71ce97c53cde3ac64de64eb02d658d9308e</id>
<content type='text'>
Making an hfsplus partition bootable requires the ability to "bless" a
file by putting its inode number in the volume header. Doing this from
userspace on a mounted filesystem is impractical since the kernel will
write back the original values on unmount. Add an ioctl to allow userspace
to update the volume header information based on the target file.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Making an hfsplus partition bootable requires the ability to "bless" a
file by putting its inode number in the volume header. Doing this from
userspace on a mounted filesystem is impractical since the kernel will
write back the original values on unmount. Add an ioctl to allow userspace
to update the volume header information based on the target file.

Signed-off-by: Matthew Garrett &lt;mjg@redhat.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>vfs: mnt_drop_write_file()</title>
<updated>2012-01-04T03:52:40+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2011-12-09T13:06:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2a79f17e4a641a2f463cb512cb0ec349844a147b'/>
<id>2a79f17e4a641a2f463cb512cb0ec349844a147b</id>
<content type='text'>
new helper (wrapper around mnt_drop_write()) to be used in pair with
mnt_want_write_file().

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
new helper (wrapper around mnt_drop_write()) to be used in pair with
mnt_want_write_file().

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>switch a bunch of places to mnt_want_write_file()</title>
<updated>2012-01-04T03:52:35+00:00</updated>
<author>
<name>Al Viro</name>
<email>viro@zeniv.linux.org.uk</email>
</author>
<published>2011-11-23T16:57:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=a561be7100cd610bd2e082f3211c1dfb45835817'/>
<id>a561be7100cd610bd2e082f3211c1dfb45835817</id>
<content type='text'>
it's both faster (in case when file has been opened for write) and cleaner.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
it's both faster (in case when file has been opened for write) and cleaner.

Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>userns: rename is_owner_or_cap to inode_owner_or_capable</title>
<updated>2011-03-24T02:47:13+00:00</updated>
<author>
<name>Serge E. Hallyn</name>
<email>serge@hallyn.com</email>
</author>
<published>2011-03-23T23:43:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=2e1496707560ecf98e9b0604622c0990f94861d3'/>
<id>2e1496707560ecf98e9b0604622c0990f94861d3</id>
<content type='text'>
And give it a kernel-doc comment.

[akpm@linux-foundation.org: btrfs changed in linux-next]
Signed-off-by: Serge E. Hallyn &lt;serge.hallyn@canonical.com&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: Daniel Lezcano &lt;daniel.lezcano@free.fr&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
And give it a kernel-doc comment.

[akpm@linux-foundation.org: btrfs changed in linux-next]
Signed-off-by: Serge E. Hallyn &lt;serge.hallyn@canonical.com&gt;
Cc: "Eric W. Biederman" &lt;ebiederm@xmission.com&gt;
Cc: Daniel Lezcano &lt;daniel.lezcano@free.fr&gt;
Acked-by: David Howells &lt;dhowells@redhat.com&gt;
Cc: James Morris &lt;jmorris@namei.org&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: fix an artifact in ioctl flag checking</title>
<updated>2010-12-16T17:08:43+00:00</updated>
<author>
<name>Anton Salikhmetov</name>
<email>alexo@tuxera.com</email>
</author>
<published>2010-12-16T12:44:51+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=596276c3571e2108f4b336be545ece2eacf3da59'/>
<id>596276c3571e2108f4b336be545ece2eacf3da59</id>
<content type='text'>
Fix a flag checking artifact in hfsplus_ioctl_getflags() routine
found while doing clean-up against assignments inside `if's.

Signed-off-by: Anton Salikhmetov &lt;alexo@tuxera.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fix a flag checking artifact in hfsplus_ioctl_getflags() routine
found while doing clean-up against assignments inside `if's.

Signed-off-by: Anton Salikhmetov &lt;alexo@tuxera.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: optimize fsync</title>
<updated>2010-11-23T13:38:15+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2010-11-23T13:38:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e34947056076ca5467ee8256d2d9cbc594a79b37'/>
<id>e34947056076ca5467ee8256d2d9cbc594a79b37</id>
<content type='text'>
Avoid doing unessecary work in fsync.  Do nothing unless the inode
was marked dirty, and only write the various metadata inodes out if
they contain any dirty state from this inode.  This is archived by
adding three new dirty bits to the hfsplus-specific inode which are
set in the correct places.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Avoid doing unessecary work in fsync.  Do nothing unless the inode
was marked dirty, and only write the various metadata inodes out if
they contain any dirty state from this inode.  This is archived by
adding three new dirty bits to the hfsplus-specific inode which are
set in the correct places.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: fix double lock typo in ioctl</title>
<updated>2010-10-25T18:39:07+00:00</updated>
<author>
<name>Dan Carpenter</name>
<email>error27@gmail.com</email>
</author>
<published>2010-10-25T18:39:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=e50fb58b5b3548e578d3b74ff15aeb7d9a496839'/>
<id>e50fb58b5b3548e578d3b74ff15aeb7d9a496839</id>
<content type='text'>
This was supposed to be a mutex_unlock() instead of a mutex_lock().

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This was supposed to be a mutex_unlock() instead of a mutex_lock().

Signed-off-by: Dan Carpenter &lt;error27@gmail.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: fix getxattr return value</title>
<updated>2010-10-15T12:45:00+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2010-10-15T12:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=46bf36ecec79bbe5373ef68f0ed36cbf62e03482'/>
<id>46bf36ecec79bbe5373ef68f0ed36cbf62e03482</id>
<content type='text'>
We need to support -EOPNOTSUPP for attributes that are not supported to
match other filesystems and allow userspace to detect if Posix ACLs
are supported or not.  setxattr already gets this right.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We need to support -EOPNOTSUPP for attributes that are not supported to
match other filesystems and allow userspace to detect if Posix ACLs
are supported or not.  setxattr already gets this right.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>hfsplus: remove superflous rootflags field in hfsplus_inode_info</title>
<updated>2010-10-14T13:54:33+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@tuxera.com</email>
</author>
<published>2010-10-14T13:54:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.toradex.cn/cgit/linux-toradex.git/commit/?id=722c55d13e7296cc62ed8a38f926a915ff32e4ea'/>
<id>722c55d13e7296cc62ed8a38f926a915ff32e4ea</id>
<content type='text'>
The rootflags field in hfsplus_inode_info only caches the immutable and
append-only flags in the VFS inode, so we can easily get rid of it.

Signed-off-by: Christoph Hellwig &lt;hch@tuxera.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The rootflags field in hfsplus_inode_info only caches the immutable and
append-only flags in the VFS inode, so we can easily get rid of it.

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