11 Jul, 2016

1 commit


24 Sep, 2015

1 commit


12 Apr, 2015

3 commits

  • Signed-off-by: Uday Savagaonkar
    Signed-off-by: Ildar Muslukhov
    Signed-off-by: Michael Halcrow
    Signed-off-by: Theodore Ts'o

    Michael Halcrow
     
  • Signed-off-by: Michael Halcrow
    Signed-off-by: Ildar Muslukhov
    Signed-off-by: Theodore Ts'o

    Michael Halcrow
     
  • On encrypt, we will re-assign the buffer_heads to point to a bounce
    page rather than the control_page (which is the original page to write
    that contains the plaintext). The block I/O occurs against the bounce
    page. On write completion, we re-assign the buffer_heads to the
    original plaintext page.

    On decrypt, we will attach a read completion callback to the bio
    struct. This read completion will decrypt the read contents in-place
    prior to setting the page up-to-date.

    The current encryption mode, AES-256-XTS, lacks cryptographic
    integrity. AES-256-GCM is in-plan, but we will need to devise a
    mechanism for handling the integrity data.

    Signed-off-by: Michael Halcrow
    Signed-off-by: Ildar Muslukhov
    Signed-off-by: Theodore Ts'o

    Michael Halcrow
     

11 Apr, 2015

1 commit


08 Apr, 2015

1 commit


11 Dec, 2012

2 commits

  • Ted has sent out a RFC about removing this feature. Eric and Jan
    confirmed that both RedHat and SUSE enable this feature in all their
    product. David also said that "As far as I know, it's enabled in all
    Android kernels that use ext4." So it seems OK for us.

    And what's more, as inline data depends its implementation on xattr,
    and to be frank, I don't run any test again inline data enabled while
    xattr disabled. So I think we should add inline data and remove this
    config option in the same release.

    [ The savings if you disable CONFIG_EXT4_FS_XATTR is only 27k, which
    isn't much in the grand scheme of things. Since no one seems to be
    testing this configuration except for some automated compile farms, on
    balance we are better removing this config option, and so that it is
    effectively always enabled. -- tytso ]

    Cc: David Brown
    Cc: Eric Sandeen
    Reviewed-by: Jan Kara
    Signed-off-by: Tao Ma
    Signed-off-by: "Theodore Ts'o"

    Tao Ma
     
  • Implement inline data with xattr.

    Now we use "system.data" to store xattr, and the xattr will
    be extended if the i_size is increased while we don't release
    the space during truncate.

    Signed-off-by: Tao Ma
    Signed-off-by: "Theodore Ts'o"

    Tao Ma
     

09 Nov, 2012

1 commit


28 Jun, 2011

1 commit


25 May, 2011

1 commit

  • Prevent an ext4 filesystem from being mounted multiple times.
    A sequence number is stored on disk and is periodically updated (every 5
    seconds by default) by a mounted filesystem.
    At mount time, we now wait for s_mmp_update_interval seconds to make sure
    that the MMP sequence does not change.
    In case of failure, the nodename, bdevname and the time at which the MMP
    block was last updated is displayed.

    Signed-off-by: Andreas Dilger
    Signed-off-by: Johann Lombardi
    Signed-off-by: "Theodore Ts'o"

    Johann Lombardi
     

28 Oct, 2010

1 commit


18 Jun, 2009

1 commit

  • The EXT4_IOC_MOVE_EXT exchanges the blocks between orig_fd and donor_fd,
    and then write the file data of orig_fd to donor_fd.
    ext4_mext_move_extent() is the main fucntion of ext4 online defrag,
    and this patch includes all functions related to ext4 online defrag.

    Signed-off-by: Akira Fujita
    Signed-off-by: Takashi Sato
    Signed-off-by: Kazuya Mio
    Signed-off-by: "Theodore Ts'o"

    Akira Fujita
     

18 May, 2009

1 commit

  • To catch filesystem bugs or corruption which could lead to the
    filesystem getting severly damaged, this patch adds a facility for
    tracking all of the filesystem metadata blocks by contiguous regions
    in a red-black tree. This allows quick searching of the tree to
    locate extents which might overlap with filesystem metadata blocks.

    This facility is also used by the multi-block allocator to assure that
    it is not allocating blocks out of the system zone, as well as by the
    routines used when reading indirect blocks and extents information
    from disk to make sure their contents are valid.

    Signed-off-by: "Theodore Ts'o"

    Theodore Ts'o
     

11 Oct, 2008

1 commit


29 Jan, 2008

2 commits


08 Dec, 2006

1 commit


12 Oct, 2006

3 commits

  • On disk extents format:
    /*
    * this is extent on-disk structure
    * it's used at the bottom of the tree
    */
    struct ext3_extent {
    __le32 ee_block; /* first logical block extent covers */
    __le16 ee_len; /* number of blocks covered by extent */
    __le16 ee_start_hi; /* high 16 bits of physical block */
    __le32 ee_start; /* low 32 bigs of physical block */
    };

    Signed-off-by: Alex Tomas
    Signed-off-by: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alex Tomas
     
  • Mingming Cao originally did this work, and Shaggy reproduced it using some
    scripts from her.

    Signed-off-by: Mingming Cao
    Signed-off-by: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mingming Cao
     
  • Start of the ext4 patch series. See Documentation/filesystems/ext4.txt for
    details.

    This is a simple copy of the files in fs/ext3 to fs/ext4 and
    /usr/incude/linux/ext3* to /usr/include/ex4*

    Signed-off-by: Dave Kleikamp
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dave Kleikamp