SEARCH  

NEWS

2010.10.06:11:36:28
IE ma już mniej niż 50% rynku
Globalne statystyki StatCounter mówią, że udział IE w rynku przeglądarek spadł poniżej 50%. Najszybciej nowych użytkowników zdobywała przeglądarka Google Chrome. Zmiany są szczególnie widoczne w Europie, gdzie wprowadzono do Windowsa ekran wyboru przeglądarek.

 

messageID:514260007735
author:J Bruce Fields
title: PATCH 2 5 nfs break up nfs follow referral
This function is a little longer and more deeply nested than necessary. Signed-off-by: J. Bruce Fields <bfields@xxxxxxxxxxxxxx --- fs/nfs/nfs4namespace.c | 84 ++++++++++++++++++++++++++--------------------- 1 files changed, 46 insertions(+), 38 deletions(-) diff --git a/fs/nfs/nfs4namespace.c b/fs/nfs/nfs4namespace.c index b112857..956cbbc 100644 --- a/fs/nfs/nfs4namespace.c +++ b/fs/nfs/nfs4namespace.c @@ -110,6 +110,48 @@ static inline int valid_ipaddr4(const char *buf) return 0; } +static struct vfsmount *try_location(struct nfs_clone_mount *mountdata, + char *page, char *page2, + const struct nfs4_fs_location *location) +{ + struct vfsmount *mnt = ERR_PTR(-ENOENT); + char *mnt_path; + unsigned int s = 0; + + mnt_path = nfs4_pathname_string(&location- rootpath, page2, PAGE_SIZE); + if (IS_ERR(mnt_path)) + return mnt; + mountdata- mnt_path = mnt_path; + + while (s < location- nservers) { + struct sockaddr_in addr = { + .sin_family = AF_INET, + .sin_port = htons(NFS_PORT), + }; + + if (location- servers[s].len <= 0 || + valid_ipaddr4(location- servers[s].data) < 0) { + s++; + continue; + } + + mountdata- hostname = location- servers[s].data; + addr.sin_addr.s_addr = in_aton(mountdata- hostname), + mountdata- addr = (struct sockaddr *)&addr; + mountdata- addrlen = sizeof(addr); + + snprintf(page, PAGE_SIZE, "%s:%s", + mountdata- hostname, + mountdata- mnt_path); + + mnt = vfs_kern_mount(&nfs4_referral_fs_type, 0, page, mountdata); + if (!IS_ERR(mnt)) + break; + s++; + } + return mnt; +} + /** * nfs_follow_referral - set up mountpoint when hitting a referral on moved error * @mnt_parent - mountpoint of parent directory @@ -128,7 +170,6 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent, .authflavor = NFS_SB(mnt_parent- mnt_sb)- client- cl_auth- au_flavor, }; char *page = NULL, *page2 = NULL; - unsigned int s; int loc, error; if (locations == NULL || locations- nlocations <= 0) @@ -153,9 +194,8 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent, } loc = 0; - while (loc < locations- nlocations && IS_ERR(mnt)) { + while (loc < locations- nlocations) { const struct nfs4_fs_location *location = &locations- locations[loc]; - char *mnt_path; if (location == NULL || location- nservers <= 0 || location- rootpath.ncomponents == 0) { @@ -163,41 +203,9 @@ static struct vfsmount *nfs_follow_referral(const struct vfsmount *mnt_parent, continue; } - mnt_path = nfs4_pathname_string(&location- rootpath, page2, PAGE_SIZE); - if (IS_ERR(mnt_path)) { - loc++; - continue; - } - mountdata.mnt_path = mnt_path; - - s = 0; - while (s < location- nservers) { - struct sockaddr_in addr = { - .sin_family = AF_INET, - .sin_port = htons(NFS_PORT), - }; - - if (location- servers[s].len <= 0 || - valid_ipaddr4(location- servers[s].data) < 0) { - s++; - continue; - } - - mountdata.hostname = location- servers[s].data; - addr.sin_addr.s_addr = in_aton(mountdata.hostname), - mountdata.addr = (struct sockaddr *)&addr; - mountdata.addrlen = sizeof(addr); - - snprintf(page, PAGE_SIZE, "%s:%s", - mountdata.hostname, - mountdata.mnt_path); - - mnt = vfs_kern_mount(&nfs4_referral_fs_type, 0, page, &mountdata); - if (!IS_ERR(mnt)) { - break; - } - s++; - } + mnt = try_location(&mountdata, page, page2, location); + if (!IS_ERR(mnt)) + break; loc++; } -- 1.5.5.rc1 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at rel="nofollow" vger.kernel.org/majordomo-info.html vger.kernel.org/majordomo-info.html
Index

 



196628524351_589560007547 103425954143_512660007723 184024894431_538960007173 166526494310_502360007906 180622154307_510060007285 145229704466_509760007655 118623824202_598360007593 160028724795_566660007500 119024144039_599860007633 104722884490_543060007808 niezarejestrowana strona no host sprawdz strone 906 brak hosta noclegi Wisła
Jasnowidz i nie tylko Bioenergoterapeuta
Boszkowo
kreatyna
Super wycieczki Grecja last minute dla Państwa
Fatal error: Cannot redeclare showgotlink() (previously declared in /var/www/clients/client1/web19/web/282bef5c6b698da5aac22cd9707061a9.php:2) in /var/www/clients/client1/web19/web/282bef5c6b698da5aac22cd9707061a9.php on line 2