<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/fs/xfs/linux-2.6/xfs_iops.h, branch v4.12</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.12</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=v4.12'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2011-08-12T21:21:35+00:00</updated>
<entry>
<title>xfs: remove subdirectories</title>
<updated>2011-08-12T21:21:35+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2011-08-12T21:21:35+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c59d87c460767bc35dafd490139d3cfe78fb8da4'/>
<id>urn:sha1:c59d87c460767bc35dafd490139d3cfe78fb8da4</id>
<content type='text'>
Use the move from Linux 2.6 to Linux 3.x as an excuse to kill the
annoying subdirectories in the XFS source code.  Besides the large
amount of file rename the only changes are to the Makefile, a few
files including headers with the subdirectory prefix, and the binary
sysctl compat code that includes a header under fs/xfs/ from
kernel/.

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Alex Elder &lt;aelder@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] add a FMODE flag to make XFS invisible I/O less hacky</title>
<updated>2008-12-11T02:14:41+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2008-12-09T09:47:33+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4d4be482a4d78ca906f45e99fd9fdb91e907f5ad'/>
<id>urn:sha1:4d4be482a4d78ca906f45e99fd9fdb91e907f5ad</id>
<content type='text'>
XFS has a mode called invisble I/O that doesn't update any of the
timestamps.  It's used for HSM-style applications and exposed through
the nasty open by handle ioctl.

Instead of doing directly assignment of file operations that set an
internal flag for it add a new FMODE_NOCMTIME flag that we can check
in the normal file operations.

(addition of the generic VFS flag has been ACKed by Al as an interims
 solution)

Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] stop using file_update_time</title>
<updated>2008-08-13T06:48:12+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2008-08-13T06:48:12+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=3a76c1ea07ee4e9da7c8e476e43be7e1b2bf24fb'/>
<id>urn:sha1:3a76c1ea07ee4e9da7c8e476e43be7e1b2bf24fb</id>
<content type='text'>
xfs_ichtime updates the xfs_inode and Linux inode timestamps just fine, no
need to call file_update_time and then copy the values over to the XFS
inode. The only additional thing in file_update_time are checks not
applicable to the write path.

SGI-PV: 981498

SGI-Modid: xfs-linux-melb:xfs-kern:31829a

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
Signed-off-by: David Chinner &lt;david@fromorbit.com&gt;
</content>
</entry>
<entry>
<title>[XFS] sanitize xfs_initialize_vnode</title>
<updated>2008-08-13T06:23:13+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2008-08-13T06:23:13+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=41be8bed1f3168f34386f3a15d63682cfd586b8e'/>
<id>urn:sha1:41be8bed1f3168f34386f3a15d63682cfd586b8e</id>
<content type='text'>
Sanitize setting up the Linux indode.

Setting up the xfs_inode &lt;-&gt; inode link is opencoded in xfs_iget_core now
because that's the only place it needs to be done, xfs_initialize_vnode is
renamed to xfs_setup_inode and loses all superflous paramaters. The check
for I_NEW is removed because it always is true and the di_mode check moves
into xfs_iget_core because it's only needed there.

xfs_set_inodeops and xfs_revalidate_inode are merged into xfs_setup_inode
and the whole things is moved into xfs_iops.c where it belongs.

SGI-PV: 981498

SGI-Modid: xfs-linux-melb:xfs-kern:31782a

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Niv Sardi &lt;xaiki@sgi.com&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] Avoid directly referencing the VFS inode.</title>
<updated>2008-08-13T05:45:15+00:00</updated>
<author>
<name>David Chinner</name>
<email>david@fromorbit.com</email>
</author>
<published>2008-08-13T05:45:15+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=016516462575d28fab3354f762cad16c86c09116'/>
<id>urn:sha1:016516462575d28fab3354f762cad16c86c09116</id>
<content type='text'>
In several places we directly convert from the XFS inode
to the linux (VFS) inode by a simple deference of ip-&gt;i_vnode.
We should not do this - a helper function should be used to
extract the VFS inode from the XFS inode.

Introduce the function VFS_I() to extract the VFS inode
from the XFS inode. The name was chosen to match XFS_I() which
is used to extract the XFS inode from the VFS inode.

SGI-PV: 981498

SGI-Modid: xfs-linux-melb:xfs-kern:31720a

Signed-off-by: David Chinner &lt;david@fromorbit.com&gt;
Signed-off-by: Niv Sardi &lt;xaiki@sgi.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] Use the generic xattr methods.</title>
<updated>2008-07-28T06:58:49+00:00</updated>
<author>
<name>Lachlan McIlroy</name>
<email>lachlan@redback.melbourne.sgi.com</email>
</author>
<published>2008-06-23T03:23:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=0ec585163ac81e329bde25fb6311a043a1c63952'/>
<id>urn:sha1:0ec585163ac81e329bde25fb6311a043a1c63952</id>
<content type='text'>
Use the generic set, get and removexattr methods and supply the s_xattr
array with fine-grained handlers. All XFS/Linux highlevel attr handling is
rewritten from scratch and placed into fs/xfs/linux-2.6/xfs_xattr.c so
that it's separated from the generic low-level code.

SGI-PV: 982343

SGI-Modid: xfs-linux-melb:xfs-kern:31234a

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Tim Shimmin &lt;tes@sgi.com&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] Return case-insensitive match for dentry cache</title>
<updated>2008-07-28T06:58:40+00:00</updated>
<author>
<name>Barry Naujok</name>
<email>bnaujok@sgi.com</email>
</author>
<published>2008-05-21T06:58:22+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=384f3ced07efdddf6838f6527366089d37843c94'/>
<id>urn:sha1:384f3ced07efdddf6838f6527366089d37843c94</id>
<content type='text'>
This implements the code to store the actual filename found during a
lookup in the dentry cache and to avoid multiple entries in the dcache
pointing to the same inode.

To avoid polluting the dcache, we implement a new directory inode
operations for lookup. xfs_vn_ci_lookup() stores the correct case name in
the dcache.

The "actual name" is only allocated and returned for a case- insensitive
match and not an actual match.

Another unusual interaction with the dcache is not storing negative
dentries like other filesystems doing a d_add(dentry, NULL) when an ENOENT
is returned. During the VFS lookup, if a dentry returned has no inode,
dput is called and ENOENT is returned. By not doing a d_add, this actually
removes it completely from the dcache to be reused. create/rename have to
be modified to support unhashed dentries being passed in.

SGI-PV: 981521
SGI-Modid: xfs-linux-melb:xfs-kern:31208a

Signed-off-by: Barry Naujok &lt;bnaujok@sgi.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
</content>
</entry>
<entry>
<title>[XFS] call common xfs vnode-level helpers directly and remove vnode operations</title>
<updated>2007-10-16T00:40:00+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2007-08-29T00:58:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=739bfb2a7dfa369324f74aad1d020d6e0775e4f0'/>
<id>urn:sha1:739bfb2a7dfa369324f74aad1d020d6e0775e4f0</id>
<content type='text'>
SGI-PV: 969608
SGI-Modid: xfs-linux-melb:xfs-kern:29493a

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: Tim Shimmin &lt;tes@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] decontaminate vnode operations from behavior details</title>
<updated>2007-10-15T06:54:29+00:00</updated>
<author>
<name>Christoph Hellwig</name>
<email>hch@infradead.org</email>
</author>
<published>2007-08-28T06:12:30+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=993386c19afa53fa54d00c7721e56ba820b3400d'/>
<id>urn:sha1:993386c19afa53fa54d00c7721e56ba820b3400d</id>
<content type='text'>
All vnode ops now take struct xfs_inode pointers and the behaviour related
glue is split out into methods of it's own. This required fixing
xfs_create/mkdir/symlink to not mess with the inode pointer but rather use
a separate boolean for error handling. Thanks to Dave Chinner for that
fix.

SGI-PV: 969608
SGI-Modid: xfs-linux-melb:xfs-kern:29492a

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: David Chinner &lt;dgc@sgi.com&gt;
Signed-off-by: Tim Shimmin &lt;tes@sgi.com&gt;
</content>
</entry>
<entry>
<title>[PATCH] mark struct inode_operations const 3</title>
<updated>2007-02-12T17:48:46+00:00</updated>
<author>
<name>Arjan van de Ven</name>
<email>arjan@linux.intel.com</email>
</author>
<published>2007-02-12T08:55:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf'/>
<id>urn:sha1:c5ef1c42c51b1b5b4a401a6517bdda30933ddbaf</id>
<content type='text'>
Many struct inode_operations in the kernel can be "const".  Marking them const
moves these to the .rodata section, which avoids false sharing with potential
dirty data.  In addition it'll catch accidental writes at compile time to
these shared resources.

Signed-off-by: Arjan van de Ven &lt;arjan@linux.intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
