<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/fs/cifs/dir.c, branch linux-2.6.37.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.37.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2010-10-18T01:07:31Z</updated>
<entry>
<title>cifs: move cifs_new_fileinfo to file.c</title>
<updated>2010-10-18T01:07:31Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:34:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15ecb436c00fcb13b6dc32bdcbb9f75fc9b7613e'/>
<id>urn:sha1:15ecb436c00fcb13b6dc32bdcbb9f75fc9b7613e</id>
<content type='text'>
It's currently in dir.c which makes little sense...

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: eliminate pfile pointer from cifsFileInfo</title>
<updated>2010-10-18T01:07:20Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:34:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2e396b83f6087b78dac5a18d6d0cf9f8426a00b3'/>
<id>urn:sha1:2e396b83f6087b78dac5a18d6d0cf9f8426a00b3</id>
<content type='text'>
All the remaining users of cifsFileInfo-&gt;pfile just use it to get
at the f_flags/f_mode. Now that we store that separately in the
cifsFileInfo, there's no need to consult the pfile at all from
a cifsFileInfo pointer.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: clean up cifs_reopen_file</title>
<updated>2010-10-18T01:04:19Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:33:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=15886177e412db00aa86155fe72608c4ebf5a08f'/>
<id>urn:sha1:15886177e412db00aa86155fe72608c4ebf5a08f</id>
<content type='text'>
Add a f_flags field that holds the f_flags field from the filp. We'll
need this info in case the filp ever goes away before the cifsFileInfo
does. Have cifs_reopen_file use that value instead of filp-&gt;f_flags
too and have it take a cifsFileInfo arg instead of a filp.

While we're at it, get rid of some bogus cargo-cult NULL pointer
checks in that function and reduce the level of indentation.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: eliminate the inode argument from cifs_new_fileinfo</title>
<updated>2010-10-18T01:04:16Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:33:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=abfe1eedd682ea0f20e7035445982e6d371a2024'/>
<id>urn:sha1:abfe1eedd682ea0f20e7035445982e6d371a2024</id>
<content type='text'>
It already takes a file pointer. The inode associated with that had damn
well better be the same one we're passing in anyway. Thus, there's no
need for a separate argument here.

Also, get rid of the bogus check for a null pCifsInode pointer. The
CIFS_I macro uses container_of(), and that will virtually never return a
NULL pointer anyway.

Finally, move the setting of the canCache* flags outside of the lock.
Other places in the code don't hold that lock when setting it, so I
assume it's not really needed here either.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: eliminate oflags option from cifs_new_fileinfo</title>
<updated>2010-10-18T00:34:35Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:33:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f6a53460e2a105904deeada737b3f878d78517b3'/>
<id>urn:sha1:f6a53460e2a105904deeada737b3f878d78517b3</id>
<content type='text'>
Eliminate the poor, misunderstood "oflags" option from cifs_new_fileinfo.
The callers mostly pass in the filp-&gt;f_flags here.

That's not correct however since we're checking that value for
the presence of FMODE_READ. Luckily that only affects how the f_list is
ordered. What it really wants here is the file-&gt;f_mode. Just use that
field from the filp to determine it.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: fix flags handling in cifs_posix_open</title>
<updated>2010-10-18T00:34:29Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-15T19:33:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=608712fe8609492a8670638ea86b97fafe49ebba'/>
<id>urn:sha1:608712fe8609492a8670638ea86b97fafe49ebba</id>
<content type='text'>
The way flags are passed and converted for cifs_posix_open is rather
non-sensical. Some callers call cifs_posix_convert_flags on the flags
before they pass them to cifs_posix_open, whereas some don't. Two flag
conversion steps is just confusing though.

Change the function instead to clearly expect input in f_flags format,
and fix the callers to pass that in. Then, have cifs_posix_open call
cifs_convert_posix_flags to do the conversion. Move cifs_posix_open to
file.c as well so we can keep cifs_convert_posix_flags as a static
function.

Fix it also to not ignore O_CREAT, O_EXCL and O_TRUNC, and instead have
cifs_reopen_file mask those bits off before calling cifs_posix_open.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: don't use vfsmount to pin superblock for oplock breaks</title>
<updated>2010-10-12T18:08:01Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-11T19:07:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d7c86ff8cd00abc730fe5d031f43dc9138b6324e'/>
<id>urn:sha1:d7c86ff8cd00abc730fe5d031f43dc9138b6324e</id>
<content type='text'>
Filesystems aren't really supposed to do anything with a vfsmount. It's
considered a layering violation since vfsmounts are entirely managed at
the VFS layer.

CIFS currently keeps an active reference to a vfsmount in order to
prevent the superblock vanishing before an oplock break has completed.
What we really want to do instead is to keep sb-&gt;s_active high until the
oplock break has completed. This patch borrows the scheme that NFS uses
for handling sillyrenames.

An atomic_t is added to the cifs_sb_info. When it transitions from 0 to
1, an extra reference to the superblock is taken (by bumping the
s_active value). When it transitions from 1 to 0, that reference is
dropped and a the superblock teardown may proceed if there are no more
references to it.

Also, the vfsmount pointer is removed from cifsFileInfo and from
cifs_new_fileinfo, and some bogus forward declarations are removed from
cifsfs.h.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: keep dentry reference in cifsFileInfo instead of inode reference</title>
<updated>2010-10-12T18:06:42Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-10-11T19:07:18Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a5e18bc36e9e05ce0338d370a2ce4290910e43ea'/>
<id>urn:sha1:a5e18bc36e9e05ce0338d370a2ce4290910e43ea</id>
<content type='text'>
cifsFileInfo is a bit problematic. It contains a reference back to the
struct file itself. This makes it difficult for a cifsFileInfo to exist
without a corresponding struct file.

It would be better instead of the cifsFileInfo just held info pertaining
to the open file on the server instead without any back refrences to the
struct file. This would allow it to exist after the filp to which it was
originally attached was closed.

Much of the use of the file pointer in this struct is to get at the
dentry.  Begin divorcing the cifsFileInfo from the struct file by
keeping a reference to the dentry. Since the dentry will have a
reference to the inode, we can eliminate the "pInode" field too and
convert the igrab/iput to dget/dput.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Reviewed-by: Suresh Jayaraman &lt;sjayaraman@suse.de&gt;
Acked-by: Dave Kleikamp &lt;shaggy@linux.vnet.ibm.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: have find_readable/writable_file filter by fsuid</title>
<updated>2010-10-06T16:12:59Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-09-29T23:51:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6508d904e6fb66ce4c34617f72b38d6714c4b9f6'/>
<id>urn:sha1:6508d904e6fb66ce4c34617f72b38d6714c4b9f6</id>
<content type='text'>
When we implement multiuser mounts, we'll need to filter filehandles
by fsuid. Add a flag for multiuser mounts and code to filter by
fsuid when it's set.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
<entry>
<title>cifs: have cifsFileInfo hold a reference to a tlink rather than tcon pointer</title>
<updated>2010-10-06T16:12:49Z</updated>
<author>
<name>Jeff Layton</name>
</author>
<published>2010-09-29T23:51:11Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=13cfb7334eb6fd0fc06da5589aea1e947791f1d6'/>
<id>urn:sha1:13cfb7334eb6fd0fc06da5589aea1e947791f1d6</id>
<content type='text'>
cifsFileInfo needs a pointer to a tcon, but it doesn't currently hold a
reference to it. Change it to keep a pointer to a tcon_link instead and
hold a reference to it.

That will keep the tcon from being freed until the file is closed.

Signed-off-by: Jeff Layton &lt;jlayton@redhat.com&gt;
Signed-off-by: Steve French &lt;sfrench@us.ibm.com&gt;
</content>
</entry>
</feed>
