04 Jan, 2012
3 commits
-
Signed-off-by: Al Viro
-
vfs_create() ignores everything outside of 16bit subset of its
mode argument; switching it to umode_t is obviously equivalent
and it's the only caller of the methodSigned-off-by: Al Viro
-
vfs_mkdir() gets int, but immediately drops everything that might not
fit into umode_t and that's the only caller of ->mkdir()...Signed-off-by: Al Viro
29 Oct, 2011
1 commit
-
Update cifs version to 1.76 now that async read,
lock caching, and changes to oplock enabled interface
are in.Thanks to Pavel for reminding me.
Reviewed-by: Pavel Shilovsky
Signed-off-by: Steve French
13 Oct, 2011
1 commit
-
It should be 'CONFIG_CIFS_NFSD_EXPORT'. No-one noticed because that
symbol depends on BROKEN.Signed-off-by: Paul Bolle
Signed-off-by: Steve French
19 Aug, 2011
1 commit
-
Signed-off-by: Steve French
01 Aug, 2011
1 commit
-
Currently, we take a sb->s_active reference and a cifsFileInfo reference
when an oplock break workqueue job is queued. This is unnecessary and
more complicated than it needs to be. Also as Al points out,
deactivate_super has non-trivial locking implications so it's best to
avoid that if we can.Instead, just cancel any pending oplock breaks for this filehandle
synchronously in cifsFileInfo_put after taking it off the lists.
That should ensure that this job doesn't outlive the structures it
depends on.Reported-by: Al Viro
Signed-off-by: Jeff Layton
Signed-off-by: Steve French
21 Jul, 2011
1 commit
-
Btrfs needs to be able to control how filemap_write_and_wait_range() is called
in fsync to make it less of a painful operation, so push down taking i_mutex and
the calling of filemap_write_and_wait() down into the ->fsync() handlers. Some
file systems can drop taking the i_mutex altogether it seems, like ext3 and
ocfs2. For correctness sake I just pushed everything down in all cases to make
sure that we keep the current behavior the same for everybody, and then each
individual fs maintainer can make up their mind about what to do from there.
Thanks,Acked-by: Jan Kara
Signed-off-by: Josef Bacik
Signed-off-by: Al Viro
13 Jul, 2011
1 commit
-
Signed-off-by: Steve French
15 Jun, 2011
1 commit
-
Signed-off-by: Steve French
19 May, 2011
5 commits
-
Signed-off-by: Steve French
-
Simplify many places when we call cifs_revalidate/invalidate to make
it do what it exactly needs.Reviewed-by: Jeff Layton
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Recently introduced strictcache mode brought a new code that can be
efficiently used by directio part. That's let us add vectored operations
and break unnecessary cifs_user_read and cifs_user_write.Signed-off-by: Pavel Shilovsky
Reviewed-by: Jeff Layton
Signed-off-by: Steve French -
Remove config flag CIFS_EXPERIMENTAL.
Do export operations under new config flag CIFS_NFSD_EXPORTSigned-off-by: Shirish Pargaonkar
Reviewed-by: Jeff Layton
Signed-off-by: Steve French -
ino is unused in function cifs_root_iget().
Signed-off-by: Shirish Pargaonkar
Signed-off-by: Steve French
22 Feb, 2011
1 commit
-
Update version to 1.71 so we can more easily spot modules with the last two fixes
Signed-off-by: Steve French
01 Feb, 2011
1 commit
-
Signed-off-by: Steve French
26 Jan, 2011
1 commit
-
If we don't have Exclusive oplock we write a data to the server.
Also set invalidate_mapping flag on the inode if we wrote something
to the server. Add cifs_iovec_write to let the client write iovec
buffers through CIFSSMBWrite2.Signed-off-by: Pavel Shilovsky
Reviewed-by: Jeff Layton
Signed-off-by: Steve French
21 Jan, 2011
3 commits
-
Read from the cache if we have at least Level II oplock - otherwise
read from the server. Add cifs_user_readv to let the client read into
iovec buffers.Reviewed-by: Jeff Layton
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Invalidate inode mapping if we don't have at least Level II oplock.
Reviewed-by: Jeff Layton
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French -
Invalidate inode mapping if we don't have at least Level II oplock in
cifs_strict_fsync. Also remove filemap_write_and_wait call from cifs_fsync
because it is previously called from vfs_fsync_range. Add file operations'
structures for strict cache mode.Reviewed-by: Jeff Layton
Signed-off-by: Pavel Shilovsky
Signed-off-by: Steve French
20 Jan, 2011
1 commit
-
Signed-off-by: Steve French
16 Jan, 2011
1 commit
-
Make CIFS use the new d_automount() dentry operation rather than abusing
follow_link() on directories.[NOTE: THIS IS UNTESTED!]
Signed-off-by: David Howells
Cc: Steve French
Signed-off-by: Al Viro
25 Oct, 2010
1 commit
-
Signed-off-by: Steve French
18 Oct, 2010
1 commit
-
Signed-off-by: Steve French
13 Oct, 2010
1 commit
-
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->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
Reviewed-by: Suresh Jayaraman
Acked-by: Dave Kleikamp
Signed-off-by: Steve French
08 Oct, 2010
1 commit
-
Signed-off-by: Steve French
02 Aug, 2010
1 commit
-
CC: Suresh Jayaraman
Signed-off-by: Steve French
28 May, 2010
1 commit
-
Signed-off-by: Christoph Hellwig
Signed-off-by: Al Viro
27 Apr, 2010
1 commit
-
On lease break we were breaking to readonly leases always
even if write requested. Also removed experimental
ifdef around setlease codeSigned-off-by: Steve French
21 Apr, 2010
1 commit
-
Signed-off-by: Steve French
10 Mar, 2010
1 commit
-
...to allow updating inode attributes on an existing inode by
filehandle. Change mmap and llseek codepaths to use that
instead of cifs_revalidate_dentry since they have a filehandle
readily available.Signed-off-by: Jeff Layton
Signed-off-by: Steve French
06 Mar, 2010
1 commit
-
cifs_revalidate is renamed to cifs_revalidate_dentry as a later patch
will add a by-filehandle variant.Add a new "invalid_mapping" flag to the cifsInodeInfo that indicates
that the pagecache is considered invalid. Add a new routine to check
inode attributes whenever they're updated and set that flag if the inode
has changed on the server.cifs_revalidate_dentry is then changed to just update the attrcache if
needed and then to zap the pagecache if it's not valid.There are some other behavior changes in here as well. Open files are
now allowed to have their caches invalidated. I see no reason why we'd
want to keep stale data around just because a file is open. Also,
cifs_revalidate_cache uses the server_eof for revalidating the file
size since that should more closely match the size of the file on the
server.Signed-off-by: Jeff Layton
Signed-off-by: Steve French
01 Jan, 2010
1 commit
-
mount option sockopt=TCP_NODELAY helpful for faster networks
boosting performance. Kernel bugzilla bug number 14032.Signed-off-by: Steve French
22 Sep, 2009
1 commit
-
Signed-off-by: Alexey Dobriyan
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Sep, 2009
1 commit
-
Also update version number to 1.61
Signed-off-by: Steve French
10 Jul, 2009
1 commit
-
Signed-off-by: Steve French
02 Jul, 2009
1 commit
-
cifs: add new cifs_iget function and convert unix codepath to use it
In order to unify some codepaths, introduce a common cifs_fattr struct
for storing inode attributes. The different codepaths (unix, legacy,
normal, etc...) can fill out this struct with inode info. It can then be
passed as an arg to a common set of routines to get and update inodes.Add a new cifs_iget function that uses iget5_locked to identify inodes.
This will compare inodes based on the uniqueid value in a cifs_fattr
struct.Rather than filling out an already-created inode, have
cifs_get_inode_info_unix instead fill out cifs_fattr and hand that off
to cifs_iget. cifs_iget can then properly look for hardlinked inodes.On the readdir side, add a new cifs_readdir_lookup function that spawns
populated dentries. Redefine FILE_UNIX_INFO so that it's basically a
FILE_UNIX_BASIC_INFO that has a few fields wrapped around it. This
allows us to more easily use the same function for filling out the fattr
as the non-readdir codepath.With this, we should then have proper hardlink detection and can
eventually get rid of some nasty CIFS-specific hacks for handing them.Signed-off-by: Jeff Layton
Reviewed-by: Christoph Hellwig
Signed-off-by: Steve French
28 May, 2009
2 commits
-
Signed-off-by: Steve French
-
The current cifs_iget isn't suitable for anything but the root inode.
Rename it with a more appropriate name.Signed-off-by: Jeff Layton
Reviewed-by: Christoph Hellwig
Signed-off-by: Steve French