lkml.org 
[lkml]   [2010]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[6/9] quota: Fix dquot_transfer for filesystems different from ext4
    2.6.31-stable review patch.  If anyone has any objections, please let us know.

    ------------------

    From: Jan Kara <jack@suse.cz>

    commit 05b5d898235401c489c68e1f3bc5706a29ad5713 upstream.

    Commit fd8fbfc1 modified the way we find amount of reserved space
    belonging to an inode. The amount of reserved space is checked
    from dquot_transfer and thus inode_reserved_space gets called
    even for filesystems that don't provide get_reserved_space callback
    which results in a BUG.

    Fix the problem by checking get_reserved_space callback and return 0 if
    the filesystem does not provide it.

    CC: Dmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: Jan Kara <jack@suse.cz>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

    ---
    fs/quota/dquot.c | 3 +++
    1 file changed, 3 insertions(+)

    --- a/fs/quota/dquot.c
    +++ b/fs/quota/dquot.c
    @@ -1425,6 +1425,9 @@ static void inode_sub_rsv_space(struct i
    static qsize_t inode_get_rsv_space(struct inode *inode)
    {
    qsize_t ret;
    +
    + if (!inode->i_sb->dq_op->get_reserved_space)
    + return 0;
    spin_lock(&inode->i_lock);
    ret = *inode_reserved_space(inode);
    spin_unlock(&inode->i_lock);



    \
     
     \ /
      Last update: 2010-01-14 23:55    [W:0.020 / U:31.292 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site