Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 44514
b: refs/heads/master
c: f988443
h: refs/heads/master
v: v3
  • Loading branch information
NeilBrown authored and Linus Torvalds committed Dec 13, 2006
1 parent 52b5ac5 commit b1140c1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: dd08d6ea443abafe9455997d2889719364b8794b
refs/heads/master: f988443a84528bd30c2f474efa5e2c511959f19b
12 changes: 9 additions & 3 deletions trunk/fs/nfsd/export.c
Original file line number Diff line number Diff line change
Expand Up @@ -955,6 +955,8 @@ exp_export(struct nfsctl_export *nxp)

exp = exp_get_by_name(clp, nd.mnt, nd.dentry, NULL);

memset(&new, 0, sizeof(new));

/* must make sure there won't be an ex_fsid clash */
if ((nxp->ex_flags & NFSEXP_FSID) &&
(fsid_key = exp_get_fsid_key(clp, nxp->ex_dev)) &&
Expand Down Expand Up @@ -985,6 +987,9 @@ exp_export(struct nfsctl_export *nxp)

new.h.expiry_time = NEVER;
new.h.flags = 0;
new.ex_path = kstrdup(nxp->ex_path, GFP_KERNEL);
if (!new.ex_path)
goto finish;
new.ex_client = clp;
new.ex_mnt = nd.mnt;
new.ex_dentry = nd.dentry;
Expand All @@ -1005,10 +1010,11 @@ exp_export(struct nfsctl_export *nxp)
/* failed to create at least one index */
exp_do_unexport(exp);
cache_flush();
err = -ENOMEM;
}

} else
err = 0;
finish:
if (new.ex_path)
kfree(new.ex_path);
if (exp)
exp_put(exp);
if (fsid_key && !IS_ERR(fsid_key))
Expand Down

0 comments on commit b1140c1

Please sign in to comment.