aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4state.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r--fs/nfs/nfs4state.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c
index 86c08c165ce7..bb3574361958 100644
--- a/fs/nfs/nfs4state.c
+++ b/fs/nfs/nfs4state.c
@@ -481,17 +481,15 @@ void nfs4_put_open_state(struct nfs4_state *state)
481} 481}
482 482
483/* 483/*
484 * Beware! Caller must be holding no references to clp->cl_sem! 484 * Close the current file.
485 */ 485 */
486void nfs4_close_state(struct nfs4_state *state, mode_t mode) 486void nfs4_close_state(struct nfs4_state *state, mode_t mode)
487{ 487{
488 struct inode *inode = state->inode; 488 struct inode *inode = state->inode;
489 struct nfs4_state_owner *owner = state->owner; 489 struct nfs4_state_owner *owner = state->owner;
490 struct nfs4_client *clp = owner->so_client;
491 int newstate; 490 int newstate;
492 491
493 atomic_inc(&owner->so_count); 492 atomic_inc(&owner->so_count);
494 down_read(&clp->cl_sem);
495 /* Protect against nfs4_find_state() */ 493 /* Protect against nfs4_find_state() */
496 spin_lock(&inode->i_lock); 494 spin_lock(&inode->i_lock);
497 if (mode & FMODE_READ) 495 if (mode & FMODE_READ)
@@ -523,7 +521,6 @@ void nfs4_close_state(struct nfs4_state *state, mode_t mode)
523out: 521out:
524 nfs4_put_open_state(state); 522 nfs4_put_open_state(state);
525 nfs4_put_state_owner(owner); 523 nfs4_put_state_owner(owner);
526 up_read(&clp->cl_sem);
527} 524}
528 525
529/* 526/*
@@ -704,8 +701,6 @@ void nfs_free_seqid(struct nfs_seqid *seqid)
704} 701}
705 702
706/* 703/*
707 * Called with clp->cl_sem held.
708 *
709 * Increment the seqid if the OPEN/OPEN_DOWNGRADE/CLOSE succeeded, or 704 * Increment the seqid if the OPEN/OPEN_DOWNGRADE/CLOSE succeeded, or
710 * failed with a seqid incrementing error - 705 * failed with a seqid incrementing error -
711 * see comments nfs_fs.h:seqid_mutating_error() 706 * see comments nfs_fs.h:seqid_mutating_error()
@@ -743,8 +738,6 @@ void nfs_increment_open_seqid(int status, struct nfs_seqid *seqid)
743} 738}
744 739
745/* 740/*
746 * Called with clp->cl_sem held.
747 *
748 * Increment the seqid if the LOCK/LOCKU succeeded, or 741 * Increment the seqid if the LOCK/LOCKU succeeded, or
749 * failed with a seqid incrementing error - 742 * failed with a seqid incrementing error -
750 * see comments nfs_fs.h:seqid_mutating_error() 743 * see comments nfs_fs.h:seqid_mutating_error()