lkml.org 
[lkml]   [2007]   [Jul]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Subject[EXT4 set 4][PATCH 5/5] i_version: noversion mount option to disable inode version updates
    From
    Date
    Add a "noversion" mount option to disable inode version updates.

    Signed-off-by: Andreas Dilger <adilger@clusterfs.com>
    Signed-off-by: Kalpak Shah <kalpak@clusterfs.com>

    Index: linux-2.6.21/fs/ext4/super.c
    ===================================================================
    --- linux-2.6.21.orig/fs/ext4/super.c
    +++ linux-2.6.21/fs/ext4/super.c
    @@ -725,7 +725,7 @@ enum {
    Opt_usrjquota, Opt_grpjquota, Opt_offusrjquota, Opt_offgrpjquota,
    Opt_jqfmt_vfsold, Opt_jqfmt_vfsv0, Opt_quota, Opt_noquota,
    Opt_ignore, Opt_barrier, Opt_err, Opt_resize, Opt_usrquota,
    - Opt_grpquota, Opt_extents, Opt_noextents,
    + Opt_grpquota, Opt_extents, Opt_noextents, Opt_noversion,
    };

    static match_table_t tokens = {
    @@ -777,6 +777,7 @@ static match_table_t tokens = {
    {Opt_barrier, "barrier=%u"},
    {Opt_extents, "extents"},
    {Opt_noextents, "noextents"},
    + {Opt_noversion, "noversion"},
    {Opt_err, NULL},
    {Opt_resize, "resize"},
    };
    @@ -1115,6 +1116,9 @@ clear_qf_name:
    case Opt_noextents:
    clear_opt (sbi->s_mount_opt, EXTENTS);
    break;
    + case Opt_noversion:
    + set_opt(sbi->s_mount_opt, NOVERSION);
    + break;
    default:
    printk (KERN_ERR
    "EXT4-fs: Unrecognized mount option \"%s\" "
    Index: linux-2.6.21/include/linux/ext4_fs.h
    ===================================================================
    --- linux-2.6.21.orig/include/linux/ext4_fs.h
    +++ linux-2.6.21/include/linux/ext4_fs.h
    @@ -473,6 +473,7 @@ do { \
    #define EXT4_MOUNT_USRQUOTA 0x100000 /* "old" user quota */
    #define EXT4_MOUNT_GRPQUOTA 0x200000 /* "old" group quota */
    #define EXT4_MOUNT_EXTENTS 0x400000 /* Extents support */
    +#define EXT4_MOUNT_NOVERSION 0x800000 /* No inode version updates */

    /* Compatibility, for having both ext2_fs.h and ext4_fs.h included at once */
    #ifndef _LINUX_EXT2_FS_H
    Index: linux-2.6.21/fs/ext4/inode.c
    ===================================================================
    --- linux-2.6.21.orig/fs/ext4/inode.c
    +++ linux-2.6.21/fs/ext4/inode.c
    @@ -3082,7 +3082,9 @@ int ext4_mark_iloc_dirty(handle_t *handl
    {
    int err = 0;

    - inode->i_version++;
    + if (!test_opt(inode->i_sb, NOVERSION))
    + inode->i_version++;
    +
    /* the do_update_inode consumes one bh->b_count */
    get_bh(iloc->bh);


    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2007-07-01 09:43    [W:0.022 / U:0.044 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site