Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
fuse_conn Struct Reference

#include <fuse_i.h>

Data Fields

spinlock_t lock
 
struct mutex inst_mutex
 
atomic_t count
 
uid_t user_id
 
gid_t group_id
 
unsigned flags
 
unsigned max_read
 
unsigned max_write
 
wait_queue_head_t waitq
 
struct list_head pending
 
struct list_head processing
 
struct list_head io
 
u64 khctr
 
struct rb_root polled_files
 
unsigned max_background
 
unsigned congestion_threshold
 
unsigned num_background
 
unsigned active_background
 
struct list_head bg_queue
 
struct list_head interrupts
 
struct fuse_forget_link forget_list_head
 
struct fuse_forget_linkforget_list_tail
 
int forget_batch
 
int blocked
 
wait_queue_head_t blocked_waitq
 
wait_queue_head_t reserved_req_waitq
 
u64 reqctr
 
unsigned connected
 
unsigned conn_error:1
 
unsigned conn_init:1
 
unsigned async_read:1
 
unsigned atomic_o_trunc:1
 
unsigned export_support:1
 
unsigned bdi_initialized:1
 
unsigned no_fsync:1
 
unsigned no_fsyncdir:1
 
unsigned no_flush:1
 
unsigned no_setxattr:1
 
unsigned no_getxattr:1
 
unsigned no_listxattr:1
 
unsigned no_removexattr:1
 
unsigned no_lock:1
 
unsigned no_access:1
 
unsigned no_create:1
 
unsigned no_interrupt:1
 
unsigned no_bmap:1
 
unsigned no_poll:1
 
unsigned big_writes:1
 
unsigned dont_mask:1
 
unsigned no_flock:1
 
unsigned no_fallocate:1
 
unsigned auto_inval_data:1
 
atomic_t num_waiting
 
unsigned minor
 
struct backing_dev_info bdi
 
struct list_head entry
 
dev_t dev
 
struct dentryctl_dentry [FUSE_CTL_NUM_DENTRIES]
 
int ctl_ndents
 
struct fasync_structfasync
 
u32 scramble_key [4]
 
struct fuse_reqdestroy_req
 
u64 attr_version
 
void(* release )(struct fuse_conn *)
 
struct super_blocksb
 
struct rw_semaphore killsb
 

Detailed Description

A Fuse connection.

This structure is created, when the filesystem is mounted, and is destroyed, when the client device is closed and the filesystem is unmounted.

Definition at line 325 of file fuse_i.h.

Field Documentation

unsigned active_background

Number of background requests currently queued for userspace

Definition at line 378 of file fuse_i.h.

unsigned async_read

Do readpages asynchronously? Only set in INIT

Definition at line 420 of file fuse_i.h.

unsigned atomic_o_trunc

Do not send separate SETATTR request before open(O_TRUNC)

Definition at line 423 of file fuse_i.h.

u64 attr_version

Version counter for attribute changes

Definition at line 521 of file fuse_i.h.

unsigned auto_inval_data

Use enhanced/automatic page cache invalidation.

Definition at line 488 of file fuse_i.h.

Backing dev info

Definition at line 497 of file fuse_i.h.

unsigned bdi_initialized

Set if bdi is valid

Definition at line 429 of file fuse_i.h.

struct list_head bg_queue

The list of background requests set aside for later queuing

Definition at line 381 of file fuse_i.h.

unsigned big_writes

Do multi-page cached writes

Definition at line 476 of file fuse_i.h.

int blocked

Flag indicating if connection is blocked. This will be the case before the INIT reply is received, and if there are too many outstading backgrounds requests

Definition at line 396 of file fuse_i.h.

wait_queue_head_t blocked_waitq

waitq for blocked connection

Definition at line 399 of file fuse_i.h.

unsigned congestion_threshold

Number of background requests at which congestion starts

Definition at line 372 of file fuse_i.h.

unsigned conn_error

Connection failed (version mismatch). Cannot race with setting other bitfields since it is only set once in INIT reply, before any other request, and never cleared

Definition at line 414 of file fuse_i.h.

unsigned conn_init

Connection successful. Only set in INIT

Definition at line 417 of file fuse_i.h.

unsigned connected

Connection established, cleared on umount, connection abort and device release

Definition at line 409 of file fuse_i.h.

atomic_t count

Refcount

Definition at line 333 of file fuse_i.h.

Dentries in the control filesystem

Definition at line 506 of file fuse_i.h.

int ctl_ndents

number of dentries used in the above array

Definition at line 509 of file fuse_i.h.

struct fuse_req* destroy_req

Reserved request for the DESTROY message

Definition at line 518 of file fuse_i.h.

dev_t dev

Device ID from super block

Definition at line 503 of file fuse_i.h.

unsigned dont_mask

Don't apply umask to creation modes

Definition at line 479 of file fuse_i.h.

Entry on the fuse_conn_list

Definition at line 500 of file fuse_i.h.

unsigned export_support

Filesystem supports NFS exporting. Only set in INIT

Definition at line 426 of file fuse_i.h.

O_ASYNC requests

Definition at line 512 of file fuse_i.h.

unsigned flags

The fuse mount flags for this mount

Definition at line 342 of file fuse_i.h.

int forget_batch

Batching of FORGET requests (positive indicates FORGET batch)

Definition at line 391 of file fuse_i.h.

struct fuse_forget_link forget_list_head

Queue of pending forgets

Definition at line 387 of file fuse_i.h.

struct fuse_forget_link* forget_list_tail

Definition at line 388 of file fuse_i.h.

gid_t group_id

The group id for this mount

Definition at line 339 of file fuse_i.h.

struct mutex inst_mutex

Mutex protecting against directory alias creation

Definition at line 330 of file fuse_i.h.

struct list_head interrupts

Pending interrupts

Definition at line 384 of file fuse_i.h.

The list of requests under I/O

Definition at line 360 of file fuse_i.h.

u64 khctr

The next unique kernel file handle

Definition at line 363 of file fuse_i.h.

Read/write semaphore to hold when accessing sb.

Definition at line 530 of file fuse_i.h.

spinlock_t lock

Lock protecting accessess to members of this structure

Definition at line 327 of file fuse_i.h.

unsigned max_background

Maximum number of outstanding background requests

Definition at line 369 of file fuse_i.h.

unsigned max_read

Maximum read size

Definition at line 345 of file fuse_i.h.

unsigned max_write

Maximum write size

Definition at line 348 of file fuse_i.h.

unsigned minor

Negotiated minor version

Definition at line 494 of file fuse_i.h.

unsigned no_access

Is access not implemented by fs?

Definition at line 461 of file fuse_i.h.

unsigned no_bmap

Is bmap not implemented by fs?

Definition at line 470 of file fuse_i.h.

unsigned no_create

Is create not implemented by fs?

Definition at line 464 of file fuse_i.h.

unsigned no_fallocate

Is fallocate not implemented by fs?

Definition at line 485 of file fuse_i.h.

unsigned no_flock

Are BSD file locking primitives not implemented by fs?

Definition at line 482 of file fuse_i.h.

unsigned no_flush

Is flush not implemented by fs?

Definition at line 443 of file fuse_i.h.

unsigned no_fsync

Is fsync not implemented by fs?

Definition at line 437 of file fuse_i.h.

unsigned no_fsyncdir

Is fsyncdir not implemented by fs?

Definition at line 440 of file fuse_i.h.

unsigned no_getxattr

Is getxattr not implemented by fs?

Definition at line 449 of file fuse_i.h.

unsigned no_interrupt

Is interrupt not implemented by fs?

Definition at line 467 of file fuse_i.h.

unsigned no_listxattr

Is listxattr not implemented by fs?

Definition at line 452 of file fuse_i.h.

unsigned no_lock

Are posix file locking primitives not implemented by fs?

Definition at line 458 of file fuse_i.h.

unsigned no_poll

Is poll not implemented by fs?

Definition at line 473 of file fuse_i.h.

unsigned no_removexattr

Is removexattr not implemented by fs?

Definition at line 455 of file fuse_i.h.

unsigned no_setxattr

Is setxattr not implemented by fs?

Definition at line 446 of file fuse_i.h.

unsigned num_background

Number of requests currently in the background

Definition at line 375 of file fuse_i.h.

atomic_t num_waiting

The number of requests waiting for completion

Definition at line 491 of file fuse_i.h.

struct list_head pending

The list of pending requests

Definition at line 354 of file fuse_i.h.

struct rb_root polled_files

rbtree of fuse_files waiting for poll events indexed by ph

Definition at line 366 of file fuse_i.h.

struct list_head processing

The list of requests being processed

Definition at line 357 of file fuse_i.h.

void(* release)(struct fuse_conn *)

Called on final put

Definition at line 524 of file fuse_i.h.

u64 reqctr

The next unique request id

Definition at line 405 of file fuse_i.h.

wait_queue_head_t reserved_req_waitq

waitq for reserved requests

Definition at line 402 of file fuse_i.h.

Super block for this connection.

Definition at line 527 of file fuse_i.h.

u32 scramble_key[4]

Key for lock owner ID scrambling

Definition at line 515 of file fuse_i.h.

uid_t user_id

The user id for this mount

Definition at line 336 of file fuse_i.h.

Readers of the connection are waiting on this

Definition at line 351 of file fuse_i.h.


The documentation for this struct was generated from the following file: