<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/fs, branch v3.4.11</title>
<subtitle>Linux kernel source tree</subtitle>
<id>https://git.amat.us/linux/atom/fs?h=v3.4.11</id>
<link rel='self' href='https://git.amat.us/linux/atom/fs?h=v3.4.11'/>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/'/>
<updated>2012-09-14T17:00:32Z</updated>
<entry>
<title>fuse: fix retrieve length</title>
<updated>2012-09-14T17:00:32Z</updated>
<author>
<name>Miklos Szeredi</name>
<email>mszeredi@suse.cz</email>
</author>
<published>2012-09-04T16:45:54Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=b4b55ff702c3551ba39ccec0b1dda9e3b57429be'/>
<id>urn:sha1:b4b55ff702c3551ba39ccec0b1dda9e3b57429be</id>
<content type='text'>
commit c9e67d483776d8d2a5f3f70491161b205930ffe1 upstream.

In some cases fuse_retrieve() would return a short byte count if offset was
non-zero.  The data returned was correct, though.

Signed-off-by: Miklos Szeredi &lt;mszeredi@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>ext3: Fix fdatasync() for files with only i_size changes</title>
<updated>2012-09-14T17:00:32Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2012-09-03T14:50:42Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=6cbe67f990c723facaeed94e29a1d854dc5930ec'/>
<id>urn:sha1:6cbe67f990c723facaeed94e29a1d854dc5930ec</id>
<content type='text'>
commit 156bddd8e505b295540f3ca0e27dda68cb0d49aa upstream.

Code tracking when transaction needs to be committed on fdatasync(2) forgets
to handle a situation when only inode's i_size is changed. Thus in such
situations fdatasync(2) doesn't force transaction with new i_size to disk
and that can result in wrong i_size after a crash.

Fix the issue by updating inode's i_datasync_tid whenever its size is
updated.

Reported-by: Kristian Nielsen &lt;knielsen@knielsen-hq.org&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>udf: Fix data corruption for files in ICB</title>
<updated>2012-09-14T17:00:32Z</updated>
<author>
<name>Jan Kara</name>
<email>jack@suse.cz</email>
</author>
<published>2012-09-05T13:48:23Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d027dffcc66f749ee34c74edbd77efaaea573e4d'/>
<id>urn:sha1:d027dffcc66f749ee34c74edbd77efaaea573e4d</id>
<content type='text'>
commit 9c2fc0de1a6e638fe58c354a463f544f42a90a09 upstream.

When a file is stored in ICB (inode), we overwrite part of the file, and
the page containing file's data is not in page cache, we end up corrupting
file's data by overwriting them with zeros. The problem is we use
simple_write_begin() which simply zeroes parts of the page which are not
written to. The problem has been introduced by be021ee4 (udf: convert to
new aops).

Fix the problem by providing a -&gt;write_begin function which makes the page
properly uptodate.

Reported-by: Ian Abbott &lt;abbotti@mev.co.uk&gt;
Signed-off-by: Jan Kara &lt;jack@suse.cz&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>block: replace __getblk_slow misfix by grow_dev_page fix</title>
<updated>2012-09-14T17:00:20Z</updated>
<author>
<name>Hugh Dickins</name>
<email>hughd@google.com</email>
</author>
<published>2012-08-23T10:17:36Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=3465c32ced49e3c04b7e280843f1a93ec8de8aff'/>
<id>urn:sha1:3465c32ced49e3c04b7e280843f1a93ec8de8aff</id>
<content type='text'>
commit 676ce6d5ca3098339c028d44fe0427d1566a4d2d upstream.

Commit 91f68c89d8f3 ("block: fix infinite loop in __getblk_slow")
is not good: a successful call to grow_buffers() cannot guarantee
that the page won't be reclaimed before the immediate next call to
__find_get_block(), which is why there was always a loop there.

Yesterday I got "EXT4-fs error (device loop0): __ext4_get_inode_loc:3595:
inode #19278: block 664: comm cc1: unable to read itable block" on console,
which pointed to this commit.

I've been trying to bisect for weeks, why kbuild-on-ext4-on-loop-on-tmpfs
sometimes fails from a missing header file, under memory pressure on
ppc G5.  I've never seen this on x86, and I've never seen it on 3.5-rc7
itself, despite that commit being in there: bisection pointed to an
irrelevant pinctrl merge, but hard to tell when failure takes between
18 minutes and 38 hours (but so far it's happened quicker on 3.6-rc2).

(I've since found such __ext4_get_inode_loc errors in /var/log/messages
from previous weeks: why the message never appeared on console until
yesterday morning is a mystery for another day.)

Revert 91f68c89d8f3, restoring __getblk_slow() to how it was (plus
a checkpatch nitfix).  Simplify the interface between grow_buffers()
and grow_dev_page(), and avoid the infinite loop beyond end of device
by instead checking init_page_buffers()'s end_block there (I presume
that's more efficient than a repeated call to blkdev_max_block()),
returning -ENXIO to __getblk_slow() in that case.

And remove akpm's ten-year-old "__getblk() cannot fail ... weird"
comment, but that is worrying: are all users of __getblk() really
now prepared for a NULL bh beyond end of device, or will some oops??

Signed-off-by: Hugh Dickins &lt;hughd@google.com&gt;
Signed-off-by: Jens Axboe &lt;axboe@kernel.dk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFS: Alias the nfs module to nfs4</title>
<updated>2012-09-14T17:00:18Z</updated>
<author>
<name>bjschuma@gmail.com</name>
<email>bjschuma@gmail.com</email>
</author>
<published>2012-08-08T17:57:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=e5cd679ea475fd731686fa3c632c2d30b9d59a6d'/>
<id>urn:sha1:e5cd679ea475fd731686fa3c632c2d30b9d59a6d</id>
<content type='text'>
commit 425e776d93a7a5070b77d4f458a5bab0f924652c upstream.

This allows distros to remove the line from their modprobe
configuration.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
[bwh: Backported to 3.2: adjust context]
Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>UBIFS: fix complaints about too small debug buffer size</title>
<updated>2012-09-14T17:00:17Z</updated>
<author>
<name>Artem Bityutskiy</name>
<email>artem.bityutskiy@linux.intel.com</email>
</author>
<published>2012-08-21T18:50:58Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=4c795fe18aa1d2756a82c46ca29d4bfad2704d4d'/>
<id>urn:sha1:4c795fe18aa1d2756a82c46ca29d4bfad2704d4d</id>
<content type='text'>
commit 65b455b123c7e2b835a0b7148f9bae584f95000e upstream.

When debugging is enabled, we use a temporary on-stack buffer for formatting
the key strings like "(11368871, direntry, 0xcd0750)". The buffer size is
32 bytes and sometimes it is not enough to fit the key string - e.g., when
inode numbers are high. This is not fatal, but the key strings are incomplete
and UBIFS complains like this:

	UBIFS assert failed in dbg_snprintf_key at 137 (pid 1)

This is a regression caused by "515315a UBIFS: fix key printing".

Fix the issue by increasing the buffer to 48 bytes.

Reported-by: Michael Hench &lt;michaelhench@gmail.com&gt;
Signed-off-by: Artem Bityutskiy &lt;artem.bityutskiy@linux.intel.com&gt;
Tested-by: Michael Hench &lt;michaelhench@gmail.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFS: return -ENOKEY when the upcall fails to map the name</title>
<updated>2012-09-14T17:00:16Z</updated>
<author>
<name>Bryan Schumaker</name>
<email>bjschuma@netapp.com</email>
</author>
<published>2012-08-09T18:05:50Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=d3078898b6f08028ee5ab8f6e8d12216d7f707ee'/>
<id>urn:sha1:d3078898b6f08028ee5ab8f6e8d12216d7f707ee</id>
<content type='text'>
commit 12dfd080556124088ed61a292184947711b46cbe upstream.

This allows the normal error-paths to handle the error, rather than
making a special call to complete_request_key() just for this instance.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Tested-by: William Dauchy &lt;wdauchy@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFS: Clear key construction data if the idmap upcall fails</title>
<updated>2012-09-14T17:00:16Z</updated>
<author>
<name>Bryan Schumaker</name>
<email>bjschuma@netapp.com</email>
</author>
<published>2012-08-09T18:05:49Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=797d03b980a559cd3312f7df3b41bb265cddcd8b'/>
<id>urn:sha1:797d03b980a559cd3312f7df3b41bb265cddcd8b</id>
<content type='text'>
commit c5066945b7ea346a11424dbeb7830b7d7d00c206 upstream.

idmap_pipe_downcall already clears this field if the upcall succeeds,
but if it fails (rpc.idmapd isn't running) the field will still be set
on the next call triggering a BUG_ON().  This patch tries to handle all
possible ways that the upcall could fail and clear the idmap key data
for each one.

Signed-off-by: Bryan Schumaker &lt;bjschuma@netapp.com&gt;
Tested-by: William Dauchy &lt;wdauchy@gmail.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>NFSv4.1: Remove a bogus BUG_ON() in nfs4_layoutreturn_done</title>
<updated>2012-09-14T17:00:16Z</updated>
<author>
<name>Trond Myklebust</name>
<email>Trond.Myklebust@netapp.com</email>
</author>
<published>2012-08-08T20:03:13Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=f401b102e87f77b81c041a06f37e3f764ed1a8e7'/>
<id>urn:sha1:f401b102e87f77b81c041a06f37e3f764ed1a8e7</id>
<content type='text'>
commit 47fbf7976e0b7d9dcdd799e2a1baba19064d9631 upstream.

Ever since commit 0a57cdac3f (NFSv4.1 send layoutreturn to fence
disconnected data server) we've been sending layoutreturn calls
while there is potentially still outstanding I/O to the data
servers. The reason we do this is to avoid races between replayed
writes to the MDS and the original writes to the DS.

When this happens, the BUG_ON() in nfs4_layoutreturn_done can
be triggered because it assumes that we would never call
layoutreturn without knowing that all I/O to the DS is
finished. The fix is to remove the BUG_ON() now that the
assumptions behind the test are obsolete.

Reported-by: Boaz Harrosh &lt;bharrosh@panasas.com&gt;
Reported-by: Tigran Mkrtchyan &lt;tigran.mkrtchyan@desy.de&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>pnfs: defer release of pages in layoutget</title>
<updated>2012-09-14T17:00:15Z</updated>
<author>
<name>Idan Kedar</name>
<email>idank@tonian.com</email>
</author>
<published>2012-08-02T08:47:10Z</published>
<link rel='alternate' type='text/html' href='https://git.amat.us/linux/commit/?id=c2bf322ed7e21107609d44bc914afba3aed35b85'/>
<id>urn:sha1:c2bf322ed7e21107609d44bc914afba3aed35b85</id>
<content type='text'>
commit 8554116e17eef055d9dd58a94b3427cb2ad1c317 upstream.

we have encountered a bug whereby reading a lot of files (copying
fedora's /bin) from a pNFS mount and hitting Ctrl+C in the middle caused
a general protection fault in xdr_shrink_bufhead. this function is
called when decoding the response from LAYOUTGET. the decoding is done
by a worker thread, and the caller of LAYOUTGET waits for the worker
thread to complete.

hitting Ctrl+C caused the synchronous wait to end and the next thing the
caller does is to free the pages, so when the worker thread calls
xdr_shrink_bufhead, the pages are gone. therefore, the cleanup of these
pages has been moved to nfs4_layoutget_release.

Signed-off-by: Idan Kedar &lt;idank@tonian.com&gt;
Signed-off-by: Benny Halevy &lt;bhalevy@tonian.com&gt;
Signed-off-by: Trond Myklebust &lt;Trond.Myklebust@netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
</feed>
