From 07a40233bfcdaedb1435dc7318105717ee00abe7 Mon Sep 17 00:00:00 2001 From: Jeff Layton Date: Thu, 11 Jun 2009 10:27:32 -0400 Subject: [PATCH] --- yaml --- r: 154367 b: refs/heads/master c: 61f98ffd74254a95871168bd5a6646b4f3002e31 h: refs/heads/master i: 154365: d5b97ae7187190003fb256aeac420f3b0d8f4d02 154363: 83f91bfe170a275ab306d6e1a3f4245e77a9b214 154359: 3f19971e1a8439a6f4602cab14a8d3804b902752 154351: 890dfee1ad4bd570ff716d73273a0f026386fe12 154335: 27fd1e37e9bef17614988fbba5d3cb193c6f5bf3 154303: d1d910e4d44bb8171fc08ad69e5187fa0f61ba9f 154239: f0a982042d544433627fb5fc6005ad4d4d879e20 154111: 51a4ebf1ce62f2681a7a73c1373fd125a609a339 v: v3 --- [refs] | 2 +- trunk/fs/cifs/cifsfs.c | 33 ++++++++++++++++++++++----------- 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index f47c4d57451d..bb9ca3b39e55 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b70b92e41d95fd906f05f6e98f61209201495fa7 +refs/heads/master: 61f98ffd74254a95871168bd5a6646b4f3002e31 diff --git a/trunk/fs/cifs/cifsfs.c b/trunk/fs/cifs/cifsfs.c index 8b315708cb3f..ddef913ff3e6 100644 --- a/trunk/fs/cifs/cifsfs.c +++ b/trunk/fs/cifs/cifsfs.c @@ -333,6 +333,27 @@ cifs_destroy_inode(struct inode *inode) kmem_cache_free(cifs_inode_cachep, CIFS_I(inode)); } +static void +cifs_show_address(struct seq_file *s, struct TCP_Server_Info *server) +{ + seq_printf(s, ",addr="); + + switch (server->addr.sockAddr.sin_family) { + case AF_INET: + seq_printf(s, "%pI4", &server->addr.sockAddr.sin_addr.s_addr); + break; + case AF_INET6: + seq_printf(s, "%pI6", + &server->addr.sockAddr6.sin6_addr.s6_addr); + if (server->addr.sockAddr6.sin6_scope_id) + seq_printf(s, "%%%u", + server->addr.sockAddr6.sin6_scope_id); + break; + default: + seq_printf(s, "(unknown)"); + } +} + /* * cifs_show_options() is for displaying mount options in /proc/mounts. * Not all settable options are displayed but most of the important @@ -343,7 +364,6 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m) { struct cifs_sb_info *cifs_sb; struct cifsTconInfo *tcon; - struct TCP_Server_Info *server; cifs_sb = CIFS_SB(m->mnt_sb); tcon = cifs_sb->tcon; @@ -364,16 +384,7 @@ cifs_show_options(struct seq_file *s, struct vfsmount *m) if (cifs_sb->mnt_cifs_flags & CIFS_MOUNT_OVERR_GID) seq_printf(s, ",forcegid"); - server = tcon->ses->server; - seq_printf(s, ",addr="); - switch (server->addr.sockAddr6.sin6_family) { - case AF_INET6: - seq_printf(s, "%pI6", &server->addr.sockAddr6.sin6_addr); - break; - case AF_INET: - seq_printf(s, "%pI4", &server->addr.sockAddr.sin_addr.s_addr); - break; - } + cifs_show_address(s, tcon->ses->server); if (!tcon->unix_ext) seq_printf(s, ",file_mode=0%o,dir_mode=0%o",