lkml.org 
[lkml]   [2004]   [Apr]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] reiserfs v3 fixes and features
    Hi Chris,

    * Chris Mason (mason@suse.com) wrote:
    > Most of these are from Jeff Mahoney and I, they include:
    >
    > bug fixes
    > logging optimizations
    > data=ordered support
    > xattrs
    > acls
    > quotas
    > error messages with device names (based on Oleg's 2.4 patch)
    > block allocator improvements

    Would you consider adding the bd_claim on external journal bdev I posted
    a while back? Hans didn't seem to flat out reject, and you agreed one
    journal per bdev was sufficient.

    Patch below, updated to 2.6.5-linus, and applies with fuzz atop your
    series.linus. I also have the reiserfsprogs update if you're interested.

    thanks,
    -chris
    --
    Linux Security Modules http://lsm.immunix.org http://lsm.bkbits.net


    ===== fs/reiserfs/journal.c 1.78 vs edited =====
    --- 1.78/fs/reiserfs/journal.c Wed Feb 18 19:42:22 2004
    +++ edited/fs/reiserfs/journal.c Tue Apr 6 16:57:04 2004
    @@ -1891,10 +1891,13 @@
    result = 0;

    if( journal -> j_dev_file != NULL ) {
    + if (journal -> j_dev_bd && (super -> s_bdev != journal -> j_dev_bd))
    + bd_release( journal -> j_dev_bd );
    result = filp_close( journal -> j_dev_file, NULL );
    journal -> j_dev_file = NULL;
    journal -> j_dev_bd = NULL;
    } else if( journal -> j_dev_bd != NULL ) {
    + bd_release( journal -> j_dev_bd );
    result = blkdev_put( journal -> j_dev_bd );
    journal -> j_dev_bd = NULL;
    }
    @@ -1933,8 +1936,17 @@
    printk( "sh-458: journal_init_dev: cannot init journal device\n '%s': %i",
    __bdevname(jdev, b), result );
    return result;
    - } else if (jdev != super->s_dev)
    + } else if (jdev != super->s_dev) {
    + result = bd_claim(journal->j_dev_bd, journal);
    + if (result) {
    + printk("%s: unable to claim %s\n", __func__,
    + bdevname(journal->j_dev_bd, b));
    + blkdev_put(journal->j_dev_bd);
    + journal->j_dev_bd = NULL;
    + return result;
    + }
    set_blocksize(journal->j_dev_bd, super->s_blocksize);
    + }
    return 0;
    }

    @@ -1947,6 +1959,17 @@
    } else {
    /* ok */
    journal->j_dev_bd = I_BDEV(jdev_inode);
    + if (super->s_bdev != journal->j_dev_bd) {
    + result = bd_claim(journal->j_dev_bd, journal);
    + if (result) {
    + printk("%s: unable to claim %s\n", __func__,
    + bdevname(journal->j_dev_bd, b));
    + filp_close(journal->j_dev_file, NULL);
    + journal->j_dev_file = NULL;
    + journal->j_dev_bd = NULL;
    + return result;
    + }
    + }
    set_blocksize(journal->j_dev_bd, super->s_blocksize);
    }
    } else {
    -
    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: 2005-03-22 14:02    [W:3.402 / U:26.468 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site