diff options
author | Jeff Layton <jlayton@redhat.com> | 2009-06-11 10:27:28 -0400 |
---|---|---|
committer | Steve French <sfrench@us.ibm.com> | 2009-06-13 04:17:30 -0400 |
commit | 8616e0fc1e27295316f9821a883f0e9fa6f8200f (patch) | |
tree | 99b3b5c887cb8d4ba244c51fdc9d5ba95102f6b3 /fs/cifs/cifsfs.c | |
parent | f3ad116588151b3371ae4e092290e4f48e62b8bb (diff) |
cifs: remove unneeded NULL checks from cifs_show_options
show_options is always called with the namespace_sem held. Therefore we
don't need to worry about the vfsmount being NULL, or it vanishing while
the function is running. By the same token, there's no need to worry
about the superblock, tcon, smb or tcp sessions being NULL on entry.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Steve French <sfrench@us.ibm.com>
Diffstat (limited to 'fs/cifs/cifsfs.c')
-rw-r--r-- | fs/cifs/cifsfs.c | 130 |
1 files changed, 59 insertions, 71 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 0d92114195ab..3f121fbd6c56 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -346,80 +346,68 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m) | |||
346 | struct TCP_Server_Info *server; | 346 | struct TCP_Server_Info *server; |
347 | 347 | ||
348 | cifs_sb = CIFS_SB(m->mnt_sb); | 348 | cifs_sb = CIFS_SB(m->mnt_sb); |
349 | tcon = cifs_sb->tcon; | ||
349 | 350 | ||
350 | if (cifs_sb) { | 351 | seq_printf(s, ",unc=%s", cifs_sb->tcon->treeName); |
351 | tcon = cifs_sb->tcon; | 352 | if (tcon->ses->userName) |
352 | if (tcon) { | 353 | seq_printf(s, ",username=%s", tcon->ses->userName); |
353 | seq_printf(s, ",unc=%s", cifs_sb->tcon->treeName); | 354 | if (tcon->ses->domainName) |
354 | if (tcon->ses) { | 355 | seq_printf(s, ",domain=%s", tcon->ses->domainName); |
355 | if (tcon->ses->userName) | 356 | |
356 | seq_printf(s, ",username=%s", | 357 | cifs_show_address(s, tcon->ses->server); |
357 | tcon->ses->userName); | 358 | |
358 | if (tcon->ses->domainName) | 359 | seq_printf(s, ",uid=%d", cifs_sb->mnt_uid); |
359 | seq_printf(s, ",domain=%s", | 360 | seq_printf(s, ",gid=%d", cifs_sb->mnt_gid); |
360 | tcon->ses->domainName); | 361 | |
361 | server = tcon->ses->server; | 362 | server = tcon->ses->server; |
362 | if (server) { | 363 | seq_printf(s, ",addr="); |
363 | seq_printf(s, ",addr="); | 364 | switch (server->addr.sockAddr6.sin6_family) { |
364 | switch (server->addr.sockAddr6. | 365 | case AF_INET6: |
365 | sin6_family) { | 366 | seq_printf(s, "%pI6", &server->addr.sockAddr6.sin6_addr); |
366 | case AF_INET6: | 367 | break; |
367 | seq_printf(s, "%pI6", | 368 | case AF_INET: |
368 | &server->addr.sockAddr6.sin6_addr); | 369 | seq_printf(s, "%pI4", &server->addr.sockAddr.sin_addr.s_addr); |
369 | break; | 370 | break; |
370 | case AF_INET: | 371 | } |
371 | seq_printf(s, "%pI4", | 372 | |
372 | &server->addr.sockAddr.sin_addr.s_addr); | 373 | if (!tcon->unix_ext) |
373 | break; | 374 | seq_printf(s, ",file_mode=0%o,dir_mode=0%o", |
374 | } | ||
375 | } | ||
376 | } | ||
377 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_UID) || | ||
378 | !(tcon->unix_ext)) | ||
379 | seq_printf(s, ",uid=%d", cifs_sb->mnt_uid); | ||
380 | if ((cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) || | ||
381 | !(tcon->unix_ext)) | ||
382 | seq_printf(s, ",gid=%d", cifs_sb->mnt_gid); | ||
383 | if (!tcon->unix_ext) { | ||
384 | seq_printf(s, ",file_mode=0%o,dir_mode=0%o", | ||
385 | cifs_sb->mnt_file_mode, | 375 | cifs_sb->mnt_file_mode, |
386 | cifs_sb->mnt_dir_mode); | 376 | cifs_sb->mnt_dir_mode); |
387 | } | 377 | if (tcon->seal) |
388 | if (tcon->seal) | 378 | seq_printf(s, ",seal"); |
389 | seq_printf(s, ",seal"); | 379 | if (tcon->nocase) |
390 | if (tcon->nocase) | 380 | seq_printf(s, ",nocase"); |
391 | seq_printf(s, ",nocase"); | 381 | if (tcon->retry) |
392 | if (tcon->retry) | 382 | seq_printf(s, ",hard"); |
393 | seq_printf(s, ",hard"); | 383 | if (cifs_sb->prepath) |
394 | } | 384 | seq_printf(s, ",prepath=%s", cifs_sb->prepath); |
395 | if (cifs_sb->prepath) | 385 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) |
396 | seq_printf(s, ",prepath=%s", cifs_sb->prepath); | 386 | seq_printf(s, ",posixpaths"); |
397 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_POSIX_PATHS) | 387 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) |
398 | seq_printf(s, ",posixpaths"); | 388 | seq_printf(s, ",setuids"); |
399 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SET_UID) | 389 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) |
400 | seq_printf(s, ",setuids"); | 390 | seq_printf(s, ",serverino"); |
401 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_SERVER_INUM) | 391 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) |
402 | seq_printf(s, ",serverino"); | 392 | seq_printf(s, ",directio"); |
403 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) | 393 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) |
404 | seq_printf(s, ",directio"); | 394 | seq_printf(s, ",nouser_xattr"); |
405 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR) | 395 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR) |
406 | seq_printf(s, ",nouser_xattr"); | 396 | seq_printf(s, ",mapchars"); |
407 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR) | 397 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) |
408 | seq_printf(s, ",mapchars"); | 398 | seq_printf(s, ",sfu"); |
409 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_UNX_EMUL) | 399 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) |
410 | seq_printf(s, ",sfu"); | 400 | seq_printf(s, ",nobrl"); |
411 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL) | 401 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) |
412 | seq_printf(s, ",nobrl"); | 402 | seq_printf(s, ",cifsacl"); |
413 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_CIFS_ACL) | 403 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM) |
414 | seq_printf(s, ",cifsacl"); | 404 | seq_printf(s, ",dynperm"); |
415 | if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DYNPERM) | 405 | if (m->mnt_sb->s_flags & MS_POSIXACL) |
416 | seq_printf(s, ",dynperm"); | 406 | seq_printf(s, ",acl"); |
417 | if (m->mnt_sb->s_flags & MS_POSIXACL) | 407 | |
418 | seq_printf(s, ",acl"); | 408 | seq_printf(s, ",rsize=%d", cifs_sb->rsize); |
419 | 409 | seq_printf(s, ",wsize=%d", cifs_sb->wsize); | |
420 | seq_printf(s, ",rsize=%d", cifs_sb->rsize); | 410 | |
421 | seq_printf(s, ",wsize=%d", cifs_sb->wsize); | ||
422 | } | ||
423 | return 0; | 411 | return 0; |
424 | } | 412 | } |
425 | 413 | ||