diff options
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 44 |
1 files changed, 38 insertions, 6 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 427a7c695896..5df93fd6303f 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -1,7 +1,7 @@ | |||
1 | /* | 1 | /* |
2 | * fs/cifs/cifsfs.c | 2 | * fs/cifs/cifsfs.c |
3 | * | 3 | * |
4 | * Copyright (C) International Business Machines Corp., 2002,2007 | 4 | * Copyright (C) International Business Machines Corp., 2002,2008 |
5 | * Author(s): Steve French (sfrench@us.ibm.com) | 5 | * Author(s): Steve French (sfrench@us.ibm.com) |
6 | * | 6 | * |
7 | * Common Internet FileSystem (CIFS) client | 7 | * Common Internet FileSystem (CIFS) client |
@@ -353,9 +353,41 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m) | |||
353 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) || | 353 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) || |
354 | !(cifs_sb->tcon->unix_ext)) | 354 | !(cifs_sb->tcon->unix_ext)) |
355 | seq_printf(s, ",gid=%d", cifs_sb->mnt_gid); | 355 | seq_printf(s, ",gid=%d", cifs_sb->mnt_gid); |
356 | if (!cifs_sb->tcon->unix_ext) { | ||
357 | seq_printf(s, ",file_mode=0%o,dir_mode=0%o", | ||
358 | cifs_sb->mnt_file_mode, | ||
359 | cifs_sb->mnt_dir_mode); | ||
360 | } | ||
361 | if (cifs_sb->tcon->seal) | ||
362 | seq_printf(s, ",seal"); | ||
363 | if (cifs_sb->tcon->nocase) | ||
364 | seq_printf(s, ",nocase"); | ||
365 | if (cifs_sb->tcon->retry) | ||
366 | seq_printf(s, ",hard"); | ||
356 | } | 367 | } |
357 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) | 368 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) |
358 | seq_printf(s, ",posixpaths"); | 369 | seq_printf(s, ",posixpaths"); |
370 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) | ||
371 | seq_printf(s, ",setuids"); | ||
372 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) | ||
373 | seq_printf(s, ",serverino"); | ||
374 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) | ||
375 | seq_printf(s, ",directio"); | ||
376 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) | ||
377 | seq_printf(s, ",nouser_xattr"); | ||
378 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR) | ||
379 | seq_printf(s, ",mapchars"); | ||
380 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) | ||
381 | seq_printf(s, ",sfu"); | ||
382 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | ||
383 | seq_printf(s, ",nobrl"); | ||
384 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) | ||
385 | seq_printf(s, ",cifsacl"); | ||
386 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM) | ||
387 | seq_printf(s, ",dynperm"); | ||
388 | if (m->mnt_sb->s_flags & MS_POSIXACL) | ||
389 | seq_printf(s, ",acl"); | ||
390 | |||
359 | seq_printf(s, ",rsize=%d", cifs_sb->rsize); | 391 | seq_printf(s, ",rsize=%d", cifs_sb->rsize); |
360 | seq_printf(s, ",wsize=%d", cifs_sb->wsize); | 392 | seq_printf(s, ",wsize=%d", cifs_sb->wsize); |
361 | } | 393 | } |
@@ -657,7 +689,7 @@ const struct file_operations cifs_file_ops = { | |||
657 | .splice_read = generic_file_splice_read, | 689 | .splice_read = generic_file_splice_read, |
658 | .llseek = cifs_llseek, | 690 | .llseek = cifs_llseek, |
659 | #ifdef CONFIG_CIFS_POSIX | 691 | #ifdef CONFIG_CIFS_POSIX |
660 | .ioctl = cifs_ioctl, | 692 | .unlocked_ioctl = cifs_ioctl, |
661 | #endif /* CONFIG_CIFS_POSIX */ | 693 | #endif /* CONFIG_CIFS_POSIX */ |
662 | 694 | ||
663 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 695 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
@@ -677,7 +709,7 @@ const struct file_operations cifs_file_direct_ops = { | |||
677 | .flush = cifs_flush, | 709 | .flush = cifs_flush, |
678 | .splice_read = generic_file_splice_read, | 710 | .splice_read = generic_file_splice_read, |
679 | #ifdef CONFIG_CIFS_POSIX | 711 | #ifdef CONFIG_CIFS_POSIX |
680 | .ioctl = cifs_ioctl, | 712 | .unlocked_ioctl = cifs_ioctl, |
681 | #endif /* CONFIG_CIFS_POSIX */ | 713 | #endif /* CONFIG_CIFS_POSIX */ |
682 | .llseek = cifs_llseek, | 714 | .llseek = cifs_llseek, |
683 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 715 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
@@ -697,7 +729,7 @@ const struct file_operations cifs_file_nobrl_ops = { | |||
697 | .splice_read = generic_file_splice_read, | 729 | .splice_read = generic_file_splice_read, |
698 | .llseek = cifs_llseek, | 730 | .llseek = cifs_llseek, |
699 | #ifdef CONFIG_CIFS_POSIX | 731 | #ifdef CONFIG_CIFS_POSIX |
700 | .ioctl = cifs_ioctl, | 732 | .unlocked_ioctl = cifs_ioctl, |
701 | #endif /* CONFIG_CIFS_POSIX */ | 733 | #endif /* CONFIG_CIFS_POSIX */ |
702 | 734 | ||
703 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 735 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
@@ -716,7 +748,7 @@ const struct file_operations cifs_file_direct_nobrl_ops = { | |||
716 | .flush = cifs_flush, | 748 | .flush = cifs_flush, |
717 | .splice_read = generic_file_splice_read, | 749 | .splice_read = generic_file_splice_read, |
718 | #ifdef CONFIG_CIFS_POSIX | 750 | #ifdef CONFIG_CIFS_POSIX |
719 | .ioctl = cifs_ioctl, | 751 | .unlocked_ioctl = cifs_ioctl, |
720 | #endif /* CONFIG_CIFS_POSIX */ | 752 | #endif /* CONFIG_CIFS_POSIX */ |
721 | .llseek = cifs_llseek, | 753 | .llseek = cifs_llseek, |
722 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 754 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
@@ -731,7 +763,7 @@ const struct file_operations cifs_dir_ops = { | |||
731 | #ifdef CONFIG_CIFS_EXPERIMENTAL | 763 | #ifdef CONFIG_CIFS_EXPERIMENTAL |
732 | .dir_notify = cifs_dir_notify, | 764 | .dir_notify = cifs_dir_notify, |
733 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ | 765 | #endif /* CONFIG_CIFS_EXPERIMENTAL */ |
734 | .ioctl = cifs_ioctl, | 766 | .unlocked_ioctl = cifs_ioctl, |
735 | }; | 767 | }; |
736 | 768 | ||
737 | static void | 769 | static void |