From: Arjan van de Ven <arjan@infradead.org>
To: linux-kernel@vger.kernel.org
Cc: sfrench@us.ibm.com, akpms@Osdl.org
Subject: [patch 3/4] fix cifs bugs wrt writing to f_ops
Date: Fri, 06 Jan 2006 22:49:26 +0100 [thread overview]
Message-ID: <1136584166.2940.98.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <1136583937.2940.90.camel@laptopd505.fenrus.org>
From: Arjan van de Ven <arjan@infradead.org>
patch 2ea55c01e0c5dfead8699484b0bae2a375b1f61c fixed CIFS clobbering the
global fops structure for some per mount setting, by duplicating and having
2 fops structs. However the write to the fops was left behind, which is a
NOP in practice (due to the fact that we KNOW the fops has that field set to
NULL already due to the duplication). So remove it... In addition, another
instance of the same bug was forgotten in november.
Signed-off-by: Arjan van de Ven <arjan@infradead.org>
CC: Steve French <sfrench@us.ibm.com>
fs/cifs/readdir.c | 17 +++++++++++------
1 file changed, 11 insertions(+), 6 deletions(-)
Index: linux-2.6.15/fs/cifs/readdir.c
===================================================================
--- linux-2.6.15.orig/fs/cifs/readdir.c
+++ linux-2.6.15/fs/cifs/readdir.c
@@ -214,8 +214,7 @@ static void fill_in_inode(struct inode *
tmp_inode->i_fop = &cifs_file_nobrl_ops;
else
tmp_inode->i_fop = &cifs_file_ops;
- if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
- tmp_inode->i_fop->lock = NULL;
+
tmp_inode->i_data.a_ops = &cifs_addr_ops;
if((cifs_sb->tcon) && (cifs_sb->tcon->ses) &&
(cifs_sb->tcon->ses->server->maxBuf <
@@ -327,12 +326,18 @@ static void unix_fill_in_inode(struct in
if (S_ISREG(tmp_inode->i_mode)) {
cFYI(1, ("File inode"));
tmp_inode->i_op = &cifs_file_inode_ops;
- if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO)
- tmp_inode->i_fop = &cifs_file_direct_ops;
+
+ if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_DIRECT_IO) {
+ if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
+ tmp_inode->i_fop = &cifs_file_direct_nobrl_ops;
+ else
+ tmp_inode->i_fop = &cifs_file_direct_ops;
+
+ } else if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
+ tmp_inode->i_fop = &cifs_file_nobrl_ops;
else
tmp_inode->i_fop = &cifs_file_ops;
- if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_BRL)
- tmp_inode->i_fop->lock = NULL;
+
tmp_inode->i_data.a_ops = &cifs_addr_ops;
if((cifs_sb->tcon) && (cifs_sb->tcon->ses) &&
(cifs_sb->tcon->ses->server->maxBuf <
next prev parent reply other threads:[~2006-01-06 21:51 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-06 21:45 [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 21:46 ` [patch 1/4] fix some f_ops abuse in acpi Arjan van de Ven
2006-01-06 21:47 ` [patch 2/4] fix input layer f_ops abuse Arjan van de Ven
2006-01-06 23:12 ` Dmitry Torokhov
2006-01-06 21:49 ` Arjan van de Ven [this message]
2006-01-06 21:51 ` [patch 4/4] Actually make the f_ops field const Arjan van de Ven
2006-01-07 8:00 ` Andrew Morton
2006-01-07 8:13 ` Arjan van de Ven
2006-01-06 21:55 ` [patch 0/4] Series to allow a "const" file_operations struct Arjan van de Ven
2006-01-06 22:46 ` Eric Dumazet
2006-01-07 0:29 ` Andrew Morton
2006-01-07 1:01 ` Arnd Bergmann
2006-01-07 7:40 ` Eric Dumazet
2006-01-07 8:33 ` Arjan van de Ven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1136584166.2940.98.camel@laptopd505.fenrus.org \
--to=arjan@infradead.org \
--cc=akpms@Osdl.org \
--cc=linux-kernel@vger.kernel.org \
--cc=sfrench@us.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®