Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90b315af12b427eeb09b2812343fb4ef9d01cf17
Commit:     90b315af12b427eeb09b2812343fb4ef9d01cf17
Parent:     91dbbe4896f374462c5912fbb3ec0dbab4814783
Author:     Evgeniy Dushistov <[EMAIL PROTECTED]>
AuthorDate: Fri Feb 8 04:20:16 2008 -0800
Committer:  Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Fri Feb 8 09:22:33 2008 -0800

    ufs: fix symlink creation on ufs2
    
    If we create symlink on UFS2 filesystem under Linux, it looks wrong under
    other OSes, because of max symlink length field was not initialized
    properly, and data blocks were not used to save short symlink names.
    
    [EMAIL PROTECTED]: add missing fs32_to_cpu()]
    Signed-off-by: Evgeniy Dushistov <[EMAIL PROTECTED]>
    Cc: Steven <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
 fs/ufs/super.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/fs/ufs/super.c b/fs/ufs/super.c
index 73deff4..d18ccf3 100644
--- a/fs/ufs/super.c
+++ b/fs/ufs/super.c
@@ -131,6 +131,8 @@ static void ufs_print_super_stuff(struct super_block *sb,
                printk(KERN_INFO"  cs_nffree(Num of free frags): %llu\n",
                       (unsigned long long)
                       fs64_to_cpu(sb, usb3->fs_un1.fs_u2.cs_nffree));
+               printk(KERN_INFO"  fs_maxsymlinklen: %u\n",
+                      fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_maxsymlinklen));
        } else {
                printk(" sblkno:      %u\n", fs32_to_cpu(sb, usb1->fs_sblkno));
                printk(" cblkno:      %u\n", fs32_to_cpu(sb, usb1->fs_cblkno));
@@ -1061,8 +1063,8 @@ magic_found:
        uspi->s_bpf = uspi->s_fsize << 3;
        uspi->s_bpfshift = uspi->s_fshift + 3;
        uspi->s_bpfmask = uspi->s_bpf - 1;
-       if ((sbi->s_mount_opt & UFS_MOUNT_UFSTYPE) ==
-           UFS_MOUNT_UFSTYPE_44BSD)
+       if ((sbi->s_mount_opt & UFS_MOUNT_UFSTYPE) == UFS_MOUNT_UFSTYPE_44BSD ||
+           (sbi->s_mount_opt & UFS_MOUNT_UFSTYPE) == UFS_MOUNT_UFSTYPE_UFS2)
                uspi->s_maxsymlinklen =
                    fs32_to_cpu(sb, usb3->fs_un2.fs_44.fs_maxsymlinklen);
 
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to