Commit 75126f55 authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

fuse: use atomic64_t for khctr



...to get rid of one more fc->lock use.

Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent eb98e3bd
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -64,9 +64,7 @@ struct fuse_file *fuse_file_alloc(struct fuse_conn *fc)
	RB_CLEAR_NODE(&ff->polled_node);
	init_waitqueue_head(&ff->poll_wait);

	spin_lock(&fc->lock);
	ff->kh = ++fc->khctr;
	spin_unlock(&fc->lock);
	ff->kh = atomic64_inc_return(&fc->khctr);

	return ff;
}
+1 −1
Original line number Diff line number Diff line
@@ -544,7 +544,7 @@ struct fuse_conn {
	struct fuse_iqueue iq;

	/** The next unique kernel file handle */
	u64 khctr;
	atomic64_t khctr;

	/** rbtree of fuse_files waiting for poll events indexed by ph */
	struct rb_root polled_files;
+1 −1
Original line number Diff line number Diff line
@@ -622,7 +622,7 @@ void fuse_conn_init(struct fuse_conn *fc, struct user_namespace *user_ns)
	atomic_set(&fc->num_waiting, 0);
	fc->max_background = FUSE_DEFAULT_MAX_BACKGROUND;
	fc->congestion_threshold = FUSE_DEFAULT_CONGESTION_THRESHOLD;
	fc->khctr = 0;
	atomic64_set(&fc->khctr, 0);
	fc->polled_files = RB_ROOT;
	fc->blocked = 0;
	fc->initialized = 0;