* [PATCH] cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g]
@ 2010-10-18 18:22 Suresh Jayaraman
[not found] ` <4CBC905A.5060007-l3A5Bk7waGM@public.gmane.org>
0 siblings, 1 reply; 2+ messages in thread
From: Suresh Jayaraman @ 2010-10-18 18:22 UTC (permalink / raw)
To: Steve French; +Cc: linux-cifs
GlobalSMBSesLock is now cifs_file_list_lock. Update comments to reflect this.
OTOH, isn't there is a cleaner way instead of acquiring spin_lock and doing
spin_unlock in succession in cifs_oplock_break to ensure we already grabbed
the reference? Is this really needed?
Signed-off-by: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
---
fs/cifs/cifsglob.h | 2 +-
fs/cifs/file.c | 2 +-
fs/cifs/misc.c | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h
index 18ee0ad..06906ef 100644
--- a/fs/cifs/cifsglob.h
+++ b/fs/cifs/cifsglob.h
@@ -669,7 +669,7 @@ require use of the stronger protocol */
* GlobalMid_Lock protects:
* list operations on pending_mid_q and oplockQ
* updates to XID counters, multiplex id and SMB sequence numbers
- * GlobalSMBSesLock protects:
+ * cifs_file_list_lock protects:
* list operations on tcp and SMB session lists and tCon lists
* f_owner.lock protects certain per file struct operations
* mapping->page_lock protects certain per page operations
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index a3634e4..b06943b 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -2381,7 +2381,7 @@ void cifs_oplock_break(struct work_struct *work)
/*
* We might have kicked in before is_valid_oplock_break()
* finished grabbing reference for us. Make sure it's done by
- * waiting for GlobalSMSSeslock.
+ * waiting for cifs_file_list_lock.
*/
spin_lock(&cifs_file_list_lock);
spin_unlock(&cifs_file_list_lock);
diff --git a/fs/cifs/misc.c b/fs/cifs/misc.c
index de6073c..0ef002f 100644
--- a/fs/cifs/misc.c
+++ b/fs/cifs/misc.c
@@ -587,7 +587,7 @@ is_valid_oplock_break(struct smb_hdr *buf, struct TCP_Server_Info *srv)
* cifs_oplock_break_put() can't be called
* from here. Get reference after queueing
* succeeded. cifs_oplock_break() will
- * synchronize using GlobalSMSSeslock.
+ * synchronize using cifs_file_list_lock.
*/
if (queue_work(system_nrt_wq,
&netfile->oplock_break))
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g]
[not found] ` <4CBC905A.5060007-l3A5Bk7waGM@public.gmane.org>
@ 2010-10-18 18:38 ` Jeff Layton
0 siblings, 0 replies; 2+ messages in thread
From: Jeff Layton @ 2010-10-18 18:38 UTC (permalink / raw)
To: Suresh Jayaraman; +Cc: Steve French, linux-cifs
On Mon, 18 Oct 2010 23:52:18 +0530
Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org> wrote:
> GlobalSMBSesLock is now cifs_file_list_lock. Update comments to reflect this.
>
> OTOH, isn't there is a cleaner way instead of acquiring spin_lock and doing
> spin_unlock in succession in cifs_oplock_break to ensure we already grabbed
> the reference? Is this really needed?
>
> Signed-off-by: Suresh Jayaraman <sjayaraman-l3A5Bk7waGM@public.gmane.org>
I wish there were -- it's certainly ugly.
We need to make sure we have references held for the oplock break
workqueue job. Typically, we'd take those references first and then
queue the work. If something goes wrong however and we can't queue that
job, then we'd have to ensure that we put those references.
There's a problem here though, is_valid_oplock_break is run in cifsd
thread. If we end up putting the references in this context, we can end
up tearing things down and doing blocking SMB calls. If cifsd does
that, it'll deadlock.
We could (in principle) add a completion variable or something for
this, but the lock/unlock works just as well for this purpose.
Comment fix looks fine:
Reviewed-by: Jeff Layton <jlayton-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2010-10-18 18:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-10-18 18:22 [PATCH] cifs: update comments - [s/GlobalSMBSesLock/cifs_file_list_lock/g] Suresh Jayaraman
[not found] ` <4CBC905A.5060007-l3A5Bk7waGM@public.gmane.org>
2010-10-18 18:38 ` Jeff Layton
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.