mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
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. [akpm@linux-foundation.org: add missing fs32_to_cpu()] Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Cc: Steven <stevenaaus@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
91dbbe4896
commit
90b315af12
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user