lkml.org 
[lkml]   [2017]   [Sep]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Date
    Subject[PATCH 3.2 077/106] ufs: set correct ->s_maxsize
    3.2.93-rc1 review patch.  If anyone has any objections, please let me know.

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

    From: Al Viro <viro@zeniv.linux.org.uk>

    commit 6b0d144fa758869bdd652c50aa41aaf601232550 upstream.

    Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
    ---
    fs/ufs/super.c | 18 ++++++++++++++++++
    1 file changed, 18 insertions(+)

    --- a/fs/ufs/super.c
    +++ b/fs/ufs/super.c
    @@ -695,6 +695,23 @@ static void ufs_put_super_internal(struc
    UFSD("EXIT\n");
    }

    +static u64 ufs_max_bytes(struct super_block *sb)
    +{
    + struct ufs_sb_private_info *uspi = UFS_SB(sb)->s_uspi;
    + int bits = uspi->s_apbshift;
    + u64 res;
    +
    + if (bits > 21)
    + res = ~0ULL;
    + else
    + res = UFS_NDADDR + (1LL << bits) + (1LL << (2*bits)) +
    + (1LL << (3*bits));
    +
    + if (res >= (MAX_LFS_FILESIZE >> uspi->s_bshift))
    + return MAX_LFS_FILESIZE;
    + return res << uspi->s_bshift;
    +}
    +
    static int ufs_fill_super(struct super_block *sb, void *data, int silent)
    {
    struct ufs_sb_info * sbi;
    @@ -1157,6 +1174,7 @@ magic_found:
    "fast symlink size (%u)\n", uspi->s_maxsymlinklen);
    uspi->s_maxsymlinklen = maxsymlen;
    }
    + sb->s_maxbytes = ufs_max_bytes(sb);

    inode = ufs_iget(sb, UFS_ROOTINO);
    if (IS_ERR(inode)) {
    \
     
     \ /
      Last update: 2017-09-10 00:52    [W:4.096 / U:0.032 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site