<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/xfs/xfs_vnodeops.c, branch linux-2.6.28.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.28.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2008-09-17T06:52:50Z</updated>
<entry>
<title>[XFS] Don't do I/O beyond eof when unreserving space</title>
<updated>2008-09-17T06:52:50Z</updated>
<author>
<name>Lachlan McIlroy</name>
</author>
<published>2008-09-17T06:52:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2fd6f6ec64ff347447d26646ac6188f3658b383c'/>
<id>urn:sha1:2fd6f6ec64ff347447d26646ac6188f3658b383c</id>
<content type='text'>
When unreserving space with boundaries that are not block aligned we round
up the start and round down the end boundaries and then use this function,
xfs_zero_remaining_bytes(), to zero the parts of the blocks that got
dropped during the rounding. The problem is we don't consider if these
blocks are beyond eof. Worse still is if we encounter delayed allocations
beyond eof we will try to use the magic delayed allocation block number as
a real block number. If the file size is ever extended to expose these
blocks then we'll go through xfs_zero_eof() to zero them anyway.

SGI-PV: 983683

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

Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
</content>
</entry>
<entry>
<title>[XFS] Prevent lockdep false positives when locking two inodes.</title>
<updated>2008-09-17T06:51:21Z</updated>
<author>
<name>David Chinner</name>
</author>
<published>2008-09-17T06:51:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f9114eba1eb08ee75fd0f1eee780f0290fb3c043'/>
<id>urn:sha1:f9114eba1eb08ee75fd0f1eee780f0290fb3c043</id>
<content type='text'>
If we call xfs_lock_two_inodes() to grab both the iolock and the ilock,
then drop the ilocks on both inodes, then grab them again (as
xfs_swap_extents() does) then lockdep will report a locking order problem.
This is a false positive.

To avoid this, disallow xfs_lock_two_inodes() fom locking both inode locks
at once - force calers to make two separate calls. This means that nested
dropping and regaining of the ilocks will retain the same lockdep subclass
and so lockdep will not see anything wrong with this code.

SGI-PV: 986238

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

Signed-off-by: David Chinner &lt;david@fromorbit.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Peter Leckie &lt;pleckie@sgi.com&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>CRED: Introduce credential access wrappers</title>
<updated>2008-08-13T23:35:23Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2008-08-13T15:20:04Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9'/>
<id>urn:sha1:9e2b2dc4133f65272a6d3c5dcb2ce63f8a87cae9</id>
<content type='text'>
The patches that are intended to introduce copy-on-write credentials for 2.6.28
require abstraction of access to some fields of the task structure,
particularly for the case of one task accessing another's credentials where RCU
will have to be observed.

Introduced here are trivial no-op versions of the desired accessors for current
and other tasks so that other subsystems can start to be converted over more
easily.

Wrappers are introduced into a new header (linux/cred.h) for UID/GID,
EUID/EGID, SUID/SGID, FSUID/FSGID, cap_effective and current's subscribed
user_struct.  These wrappers are macros because the ordering between header
files mitigates against making them inline functions.

linux/cred.h is #included from linux/sched.h.

Further, XFS is modified such that it no longer defines and uses parameterised
versions of current_fs[ug]id(), thus getting rid of the namespace collision
otherwise incurred.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Signed-off-by: James Morris &lt;jmorris@namei.org&gt;
</content>
</entry>
<entry>
<title>[XFS] update timestamp in xfs_ialloc manually</title>
<updated>2008-08-13T06:44:15Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-08-13T06:44:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dff35fd41f252476cba7f761d7204dd9f47d739e'/>
<id>urn:sha1:dff35fd41f252476cba7f761d7204dd9f47d739e</id>
<content type='text'>
In xfs_ialloc we just want to set all timestamps to the current time. We
don't need to mark the inode dirty like xfs_ichgtime does, and we don't
need nor want the opimizations in xfs_ichgtime that I will introduce in
the next patch.

So just opencode the timestamp update in xfs_ialloc, and remove the new
unused XFS_ICHGTIME_ACC case in xfs_ichgtime.

SGI-PV: 981498

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

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] kill bhv_vnode_t</title>
<updated>2008-08-13T06:22:40Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-08-13T06:22:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5ec7f8c7d14a3ea6bf920b3350f5c5d3527cb837'/>
<id>urn:sha1:5ec7f8c7d14a3ea6bf920b3350f5c5d3527cb837</id>
<content type='text'>
All remaining bhv_vnode_t instance are in code that's more or less Linux
specific. (Well, for xfs_acl.c that could be argued, but that code is on
the removal list, too). So just do an s/bhv_vnode_t/struct inode/ over the
whole tree. We can clean up variable naming and some useless helpers
later.

SGI-PV: 981498

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

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] remove some easy bhv_vnode_t instances</title>
<updated>2008-08-13T06:22:09Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-08-13T06:22:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=df80c933f9eb01a7af3812bbe437e38205386304'/>
<id>urn:sha1:df80c933f9eb01a7af3812bbe437e38205386304</id>
<content type='text'>
In various places we can just move a VFS_I call into the argument list of
called functions/macros instead of having a local bhv_vnode_t.

SGI-PV: 981498

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

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] kill xfs_lock_dir_and_entry</title>
<updated>2008-08-13T06:18:07Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-08-13T06:18:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e1cccd917be7364f81b5dc4e33ee3a6e0db21a99'/>
<id>urn:sha1:e1cccd917be7364f81b5dc4e33ee3a6e0db21a99</id>
<content type='text'>
When multiple inodes are locked in XFS it happens in order of the inode
number, with the everything but the first inode trylocked if any of the
previous inodes is in the AIL.

Except for the sorting of the inodes this logic is implemented in
xfs_lock_inodes, but also partially duplicated in xfs_lock_dir_and_entry
in a particularly stupid way adds a lock roundtrip if the inode ordering
is not optimal.

This patch adds a new helper xfs_lock_two_inodes that takes two inodes and
locks them in the most optimal way according to the above locking protocol
and uses it for all places that want to lock two inodes.

The only caller of xfs_lock_inodes is xfs_rename which might lock up to
four inodes.

SGI-PV: 981498

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

Signed-off-by: Christoph Hellwig &lt;hch@infradead.org&gt;
Signed-off-by: Donald Douwsma &lt;donaldd@sgi.com&gt;
Signed-off-by: Lachlan McIlroy &lt;lachlan@sgi.com&gt;
</content>
</entry>
<entry>
<title>[XFS] kill vn_to_inode</title>
<updated>2008-08-13T06:12:05Z</updated>
<author>
<name>Christoph Hellwig</name>
</author>
<published>2008-08-13T06:12:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=863890cd90e8b213f7028036c6e2200d93223527'/>
<id>urn:sha1:863890cd90e8b213f7028036c6e2200d93223527</id>
<content type='text'>
bhv_vnode_t is just a typedef for struct inode, so there's
no need for a helper to convert between the two.

SGI-PV: 981498

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

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] Kill shouty XFS_ITOV() macro</title>
<updated>2008-08-13T06:00:45Z</updated>
<author>
<name>David Chinner</name>
</author>
<published>2008-08-13T06:00:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e4f7529108d01bf66af8ebecd6be2b98d8db30ce'/>
<id>urn:sha1:e4f7529108d01bf66af8ebecd6be2b98d8db30ce</id>
<content type='text'>
Replace XFS_ITOV() with the new VFS_I() inline.

SGI-PV: 981498

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

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] kill shouty XFS_ITOV_NULL macro</title>
<updated>2008-08-13T05:47:43Z</updated>
<author>
<name>David Chinner</name>
</author>
<published>2008-08-13T05:47:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=705db4a24e0576f30d736de3c49623b4686ce473'/>
<id>urn:sha1:705db4a24e0576f30d736de3c49623b4686ce473</id>
<content type='text'>
Replace XFS_ITOV_NULL() with the new VFS_I() inline.

SGI-PV: 981498

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

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>
</feed>
