Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2e5c3672 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
  cifs: make cifs_set_oplock_level() take a cifsInodeInfo pointer
  cifs: dereferencing first then checking
  cifs: trivial comment fix: tlink_tree is now a rbtree
  [CIFS] Cleanup unused variable build warning
  cifs: convert tlink_tree to a rbtree
  cifs: store pointer to master tlink in superblock (try #2)
  cifs: trivial doc fix: note setlease implemented
  CIFS: Add cifs_set_oplock_level
  FS: cifs, remove unneeded NULL tests
parents e0a70217 c6723628
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ u) DOS attrs - returned as pseudo-xattr in Samba format (check VFAT and NTFS for

v) mount check for unmatched uids

w) Add support for new vfs entry points for setlease and fallocate 
w) Add support for new vfs entry point for fallocate

x) Fix Samba 3 server to handle Linux kernel aio so dbench with lots of 
processes can proceed better in parallel (on the server)
+3 −3
Original line number Diff line number Diff line
@@ -15,7 +15,7 @@
 *   the GNU Lesser General Public License for more details.
 *
 */
#include <linux/radix-tree.h>
#include <linux/rbtree.h>

#ifndef _CIFS_FS_SB_H
#define _CIFS_FS_SB_H
@@ -42,9 +42,9 @@
#define CIFS_MOUNT_MULTIUSER	0x20000 /* multiuser mount */

struct cifs_sb_info {
	struct radix_tree_root tlink_tree;
#define CIFS_TLINK_MASTER_TAG		0	/* is "master" (mount) tcon */
	struct rb_root tlink_tree;
	spinlock_t tlink_tree_lock;
	struct tcon_link *master_tlink;
	struct nls_table *local_nls;
	unsigned int rsize;
	unsigned int wsize;
+2 −3
Original line number Diff line number Diff line
@@ -116,7 +116,7 @@ cifs_read_super(struct super_block *sb, void *data,
		return -ENOMEM;

	spin_lock_init(&cifs_sb->tlink_tree_lock);
	INIT_RADIX_TREE(&cifs_sb->tlink_tree, GFP_KERNEL);
	cifs_sb->tlink_tree = RB_ROOT;

	rc = bdi_setup_and_register(&cifs_sb->bdi, "cifs", BDI_CAP_MAP_COPY);
	if (rc) {
@@ -321,8 +321,7 @@ cifs_alloc_inode(struct super_block *sb)
	/* Until the file is open and we have gotten oplock
	info back from the server, can not assume caching of
	file data or metadata */
	cifs_inode->clientCanCacheRead = false;
	cifs_inode->clientCanCacheAll = false;
	cifs_set_oplock_level(cifs_inode, 0);
	cifs_inode->delete_pending = false;
	cifs_inode->invalid_mapping = false;
	cifs_inode->vfs_inode.i_blkbits = 14;  /* 2**14 = CIFS_MAX_MSGSIZE */
+2 −1
Original line number Diff line number Diff line
@@ -336,7 +336,8 @@ struct cifsTconInfo {
 * "get" on the container.
 */
struct tcon_link {
	unsigned long		tl_index;
	struct rb_node		tl_rbnode;
	uid_t			tl_uid;
	unsigned long		tl_flags;
#define TCON_LINK_MASTER	0
#define TCON_LINK_PENDING	1
+1 −0
Original line number Diff line number Diff line
@@ -104,6 +104,7 @@ extern struct timespec cifs_NTtimeToUnix(__le64 utc_nanoseconds_since_1601);
extern u64 cifs_UnixTimeToNT(struct timespec);
extern struct timespec cnvrtDosUnixTm(__le16 le_date, __le16 le_time,
				      int offset);
extern void cifs_set_oplock_level(struct cifsInodeInfo *cinode, __u32 oplock);

extern struct cifsFileInfo *cifs_new_fileinfo(__u16 fileHandle,
				struct file *file, struct tcon_link *tlink,
Loading