dect
/
linux-2.6
Archived
13
0
Fork 0

Merge git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6

* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  [CIFS] fix sparse warning
  cifs: fix sb->s_maxbytes so that it casts properly to a signed value
  cifs: disable serverino if server doesn't support it
This commit is contained in:
Linus Torvalds 2009-07-27 12:11:43 -07:00
commit c7425eb481
2 changed files with 10 additions and 7 deletions

View File

@ -2452,10 +2452,10 @@ try_mount_again:
tcon->local_lease = volume_info->local_lease; tcon->local_lease = volume_info->local_lease;
} }
if (pSesInfo) { if (pSesInfo) {
if (pSesInfo->capabilities & CAP_LARGE_FILES) { if (pSesInfo->capabilities & CAP_LARGE_FILES)
sb->s_maxbytes = (u64) 1 << 63; sb->s_maxbytes = MAX_LFS_FILESIZE;
} else else
sb->s_maxbytes = (u64) 1 << 31; /* 2 GB */ sb->s_maxbytes = MAX_NON_LFS;
} }
/* BB FIXME fix time_gran to be larger for LANMAN sessions */ /* BB FIXME fix time_gran to be larger for LANMAN sessions */

View File

@ -212,7 +212,7 @@ cifs_unix_basic_to_fattr(struct cifs_fattr *fattr, FILE_UNIX_BASIC_INFO *info,
* junction to the new submount (ie to setup the fake directory * junction to the new submount (ie to setup the fake directory
* which represents a DFS referral). * which represents a DFS referral).
*/ */
void static void
cifs_create_dfs_fattr(struct cifs_fattr *fattr, struct super_block *sb) cifs_create_dfs_fattr(struct cifs_fattr *fattr, struct super_block *sb)
{ {
struct cifs_sb_info *cifs_sb = CIFS_SB(sb); struct cifs_sb_info *cifs_sb = CIFS_SB(sb);
@ -388,7 +388,7 @@ static int cifs_sfu_mode(struct cifs_fattr *fattr, const unsigned char *path,
} }
/* Fill a cifs_fattr struct with info from FILE_ALL_INFO */ /* Fill a cifs_fattr struct with info from FILE_ALL_INFO */
void static void
cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info, cifs_all_info_to_fattr(struct cifs_fattr *fattr, FILE_ALL_INFO *info,
struct cifs_sb_info *cifs_sb, bool adjust_tz) struct cifs_sb_info *cifs_sb, bool adjust_tz)
{ {
@ -513,9 +513,12 @@ int cifs_get_inode_info(struct inode **pinode,
cifs_sb->mnt_cifs_flags & cifs_sb->mnt_cifs_flags &
CIFS_MOUNT_MAP_SPECIAL_CHR); CIFS_MOUNT_MAP_SPECIAL_CHR);
if (rc1) { if (rc1) {
/* BB EOPNOSUPP disable SERVER_INUM? */
cFYI(1, ("GetSrvInodeNum rc %d", rc1)); cFYI(1, ("GetSrvInodeNum rc %d", rc1));
fattr.cf_uniqueid = iunique(sb, ROOT_I); fattr.cf_uniqueid = iunique(sb, ROOT_I);
/* disable serverino if call not supported */
if (rc1 == -EINVAL)
cifs_sb->mnt_cifs_flags &=
~CIFS_MOUNT_SERVER_INUM;
} }
} else { } else {
fattr.cf_uniqueid = iunique(sb, ROOT_I); fattr.cf_uniqueid = iunique(sb, ROOT_I);