Re: [PATCH 1/2] NFS: change the ip_map cache code to handle IPv6 addresses
From: J. Bruce Fields <hidden>
Date: 2007-10-30 18:49:07
Thanks for working on this. Could you run linux/scripts/checkpatch.pl on your patch and fix the problems it complains about? On Tue, Oct 30, 2007 at 06:05:42PM +0100, Aurélien Charbon wrote:
quoted hunk ↗ jump to hunk
static void update(struct cache_head *cnew, struct cache_head *citem) {@@ -149,22 +157,24 @@ static void ip_map_request(struct cache_ struct cache_head *h, char **bpp, int *blen){ - char text_addr[20]; + char text_addr[40]; struct ip_map *im = container_of(h, struct ip_map, h); - __be32 addr = im->m_addr.s_addr; - - snprintf(text_addr, 20, "%u.%u.%u.%u", - ntohl(addr) >> 24 & 0xff, - ntohl(addr) >> 16 & 0xff, - ntohl(addr) >> 8 & 0xff, - ntohl(addr) >> 0 & 0xff); + if (ipv6_addr_v4mapped(&(im->m_addr))) { + snprintf(text_addr, 20, NIPQUAD_FMT, + ntohl(im->m_addr.s6_addr32[3]) >> 24 & 0xff, + ntohl(im->m_addr.s6_addr32[3]) >> 16 & 0xff, + ntohl(im->m_addr.s6_addr32[3]) >> 8 & 0xff, + ntohl(im->m_addr.s6_addr32[3]) >> 0 & 0xff); + } else { + snprintf(text_addr, 40, NIP6_FMT, NIP6(im->m_addr)); + } qword_add(bpp, blen, im->m_class); qword_add(bpp, blen, text_addr); (*bpp)[-1] = '\n'; }
What happens when an unpatched mountd gets this request? Does it ignore it, or respond with a negative entry? --b.