<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/ext4/ioctl.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-11-20T02:47:07Z</updated>
<entry>
<title>ext4: Add EXT4_IOC_TRIM ioctl to handle batched discard</title>
<updated>2010-11-20T02:47:07Z</updated>
<author>
<name>Lukas Czerner</name>
</author>
<published>2010-11-20T02:47:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e681c047e47c0abe67bf95857f23814372793cb0'/>
<id>urn:sha1:e681c047e47c0abe67bf95857f23814372793cb0</id>
<content type='text'>
Filesystem independent ioctl was rejected as not common enough to be in
core vfs ioctl. Since we still need to access to this functionality this
commit adds ext4 specific ioctl EXT4_IOC_TRIM to dispatch
ext4_trim_fs().

It takes fstrim_range structure as an argument. fstrim_range is definec in
the include/linux/fs.h and its definition is as follows.

struct fstrim_range {
	__u64 start;
	__u64 len;
	__u64 minlen;
}

start	- first Byte to trim
len	- number of Bytes to trim from start
minlen	- minimum extent length to trim, free extents shorter than this
  number of Bytes will be ignored. This will be rounded up to fs
  block size.

After the FITRIM is done, the number of actually discarded Bytes is stored
in fstrim_range.len to give the user better insight on how much storage
space has been really released for wear-leveling.

Signed-off-by: Lukas Czerner &lt;lczerner@redhat.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Drop whitespace at end of lines</title>
<updated>2010-05-17T11:00:00Z</updated>
<author>
<name>Theodore Ts'o</name>
</author>
<published>2010-05-17T11:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=60e6679e28518ccd67169c4a539d8cc7490eb8a6'/>
<id>urn:sha1:60e6679e28518ccd67169c4a539d8cc7490eb8a6</id>
<content type='text'>
This patch was generated using:

#!/usr/bin/perl -i
while (&lt;&gt;) {
    s/[ 	]+$//;
    print;
}

Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Fix compat EXT4_IOC_ADD_GROUP</title>
<updated>2010-05-17T10:00:00Z</updated>
<author>
<name>Ben Hutchings</name>
</author>
<published>2010-05-17T10:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4d92dc0f00a775dc2e1267b0e00befb783902fe7'/>
<id>urn:sha1:4d92dc0f00a775dc2e1267b0e00befb783902fe7</id>
<content type='text'>
struct ext4_new_group_input needs to be converted because u64 has
only 32-bit alignment on some 32-bit architectures, notably i386.

Signed-off-by: Ben Hutchings &lt;ben@decadent.org.uk&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: allow defrag (EXT4_IOC_MOVE_EXT) in 32bit compat mode</title>
<updated>2010-05-15T04:00:00Z</updated>
<author>
<name>Christian Borntraeger</name>
</author>
<published>2010-05-15T04:00:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b684b2ee9409f2890a8b3aea98525bbe5f84e276'/>
<id>urn:sha1:b684b2ee9409f2890a8b3aea98525bbe5f84e276</id>
<content type='text'>
I have an x86_64 kernel with i386 userspace. e4defrag fails on the
EXT4_IOC_MOVE_EXT ioctl because it is not wired up for the compat
case. It seems that struct move_extent is compat save, only types
with fixed widths are used:
{
        __u32 reserved;         /* should be zero */
        __u32 donor_fd;         /* donor file descriptor */
        __u64 orig_start;       /* logical start offset in block for orig */
        __u64 donor_start;      /* logical start offset in block for donor */
        __u64 len;              /* block length to be moved */
        __u64 moved_len;        /* moved block length */
};

Lets just wire up EXT4_IOC_MOVE_EXT for the compat case.

Signed-off-by: Christian Borntraeger &lt;borntraeger@de.ibm.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
Reviewed-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
CC: Akira Fujita &lt;a-fujita@rs.jp.nec.com&gt; 
</content>
</entry>
<entry>
<title>ext4: Code cleanup for EXT4_IOC_MOVE_EXT ioctl</title>
<updated>2010-03-04T05:39:24Z</updated>
<author>
<name>Akira Fujita</name>
</author>
<published>2010-03-04T05:39:24Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c437b2733520599a2c6e0dbcdeae611319f84707'/>
<id>urn:sha1:c437b2733520599a2c6e0dbcdeae611319f84707</id>
<content type='text'>
a) Fix sparse warning in ext4_ioctl()
b) Remove unneeded variable in mext_leaf_block()
c) Fix spelling typo in mext_check_arguments()

Signed-off-by: Akira Fujita &lt;a-fujita@rs.jp.nec.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Add flag to files with blocks intentionally past EOF</title>
<updated>2010-02-24T14:52:53Z</updated>
<author>
<name>Jiaying Zhang</name>
</author>
<published>2010-02-24T14:52:53Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c8d46e41bc744c8fa0092112af3942fcd46c8b18'/>
<id>urn:sha1:c8d46e41bc744c8fa0092112af3942fcd46c8b18</id>
<content type='text'>
fallocate() may potentially instantiate blocks past EOF, depending
on the flags used when it is called.

e2fsck currently has a test for blocks past i_size, and it
sometimes trips up - noticeably on xfstests 013 which runs fsstress.

This patch from Jiayang does fix it up - it (along with
e2fsprogs updates and other patches recently from Aneesh) has
survived many fsstress runs in a row.

Signed-off-by: Eric Sandeen &lt;sandeen@redhat.com&gt;
Signed-off-by: Jiaying Zhang &lt;jiayingz@google.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT</title>
<updated>2009-12-07T04:38:31Z</updated>
<author>
<name>Akira Fujita</name>
</author>
<published>2009-12-07T04:38:31Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4a58579b9e4e2a35d57e6c9c8483e52f6f1b7fd6'/>
<id>urn:sha1:4a58579b9e4e2a35d57e6c9c8483e52f6f1b7fd6</id>
<content type='text'>
This patch fixes three problems in the handling of the
EXT4_IOC_MOVE_EXT ioctl:

1. In current EXT4_IOC_MOVE_EXT, there are read access mode checks for
original and donor files, but they allow the illegal write access to
donor file, since donor file is overwritten by original file data.  To
fix this problem, change access mode checks of original (r-&gt;r/w) and
donor (r-&gt;w) files.

2.  Disallow the use of donor files that have a setuid or setgid bits.

3.  Call mnt_want_write() and mnt_drop_write() before and after
ext4_move_extents() calling to get write access to a mount.

Signed-off-by: Akira Fujita &lt;a-fujita@rs.jp.nec.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: initialize moved_len before calling ext4_move_extents()</title>
<updated>2009-11-24T15:28:48Z</updated>
<author>
<name>Kazuya Mio</name>
</author>
<published>2009-11-24T15:28:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3'/>
<id>urn:sha1:446aaa6e7e993b38a6f21c6acfa68f3f1af3dbe3</id>
<content type='text'>
The move_extent.moved_len is used to pass back the number of exchanged
blocks count to user space.  Currently the caller must clear this
field; but we spend more code space checking for this requirement than
simply zeroing the field ourselves, so let's just make life easier for
everyone all around.

Signed-off-by: Kazuya Mio &lt;k-mio@sx.jp.nec.com&gt;
Signed-off-by: Akira Fujita &lt;a-fujita@rs.jp.nec.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>ext4: Return exchanged blocks count to user space in failure</title>
<updated>2009-09-06T02:46:29Z</updated>
<author>
<name>Akira Fujita</name>
</author>
<published>2009-09-06T02:46:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=8d6669133d8cdbb7cbe0e1f0f3744e7802a84afe'/>
<id>urn:sha1:8d6669133d8cdbb7cbe0e1f0f3744e7802a84afe</id>
<content type='text'>
Return exchanged blocks count (moved_len) to user space,
if ext4_move_extents() failed on the way.

Signed-off-by: Akira Fujita &lt;a-fujita@rs.jp.nec.com&gt;
Signed-off-by: "Theodore Ts'o" &lt;tytso@mit.edu&gt;
</content>
</entry>
<entry>
<title>Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4</title>
<updated>2009-07-13T23:39:25Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2009-07-13T23:39:25Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1cf29683f4414296dc772a87caa207cab16c310c'/>
<id>urn:sha1:1cf29683f4414296dc772a87caa207cab16c310c</id>
<content type='text'>
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:
  jbd2: fix race between write_metadata_buffer and get_write_access
  ext4: Fix ext4_mb_initialize_context() to initialize all fields
  ext4: fix null handler of ioctls in no journal mode
  ext4: Fix buffer head reference leak in no-journal mode
  ext4: Move __ext4_journalled_writepage() to avoid forward declaration
  ext4: Fix mmap/truncate race when blocksize &lt; pagesize &amp;&amp; !nodellaoc
  ext4: Fix mmap/truncate race when blocksize &lt; pagesize &amp;&amp; delayed allocation
  ext4: Don't look at buffer_heads outside i_size.
  ext4: Fix goal inum check in the inode allocator
  ext4: fix no journal corruption with locale-gen
  ext4: Calculate required journal credits for inserting an extent properly
  ext4: Fix truncation of symlinks after failed write
  jbd2: Fix a race between checkpointing code and journal_get_write_access()
  ext4: Use rcu_barrier() on module unload.
  ext4: naturally align struct ext4_allocation_request
  ext4: mark several more functions in mballoc.c as noinline
  ext4: Fix potential reclaim deadlock when truncating partial block
  jbd2: Remove GFP_ATOMIC kmalloc from inside spinlock critical region
  ext4: Fix type warning on 64-bit platforms in tracing events header
</content>
</entry>
</feed>
