diff options
author | Csaba Henk <csaba@gluster.com> | 2009-07-01 17:28:41 -0700 |
---|---|---|
committer | Miklos Szeredi <mszeredi@suse.cz> | 2009-07-07 17:28:52 +0200 |
commit | 7a6d3c8b3049d07123628f2bf57127bba2cc878f (patch) | |
tree | bfa09bd7e87753eb777699e0566e396ae639532c /fs/fuse/dev.c | |
parent | 8e4a718ff38d8539938ec3421935904c27e00c39 (diff) | |
download | kernel_samsung_smdk4412-7a6d3c8b3049d07123628f2bf57127bba2cc878f.zip kernel_samsung_smdk4412-7a6d3c8b3049d07123628f2bf57127bba2cc878f.tar.gz kernel_samsung_smdk4412-7a6d3c8b3049d07123628f2bf57127bba2cc878f.tar.bz2 |
fuse: make the number of max background requests and congestion threshold tunable
The practical values for these limits depend on the design of the
filesystem server so let userspace set them at initialization time.
Signed-off-by: Csaba Henk <csaba@gluster.com>
Signed-off-by: Miklos Szeredi <mszeredi@suse.cz>
Diffstat (limited to 'fs/fuse/dev.c')
-rw-r--r-- | fs/fuse/dev.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index f58ecbc..b152761 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -250,7 +250,7 @@ static void queue_request(struct fuse_conn *fc, struct fuse_req *req) static void flush_bg_queue(struct fuse_conn *fc) { - while (fc->active_background < FUSE_MAX_BACKGROUND && + while (fc->active_background < fc->max_background && !list_empty(&fc->bg_queue)) { struct fuse_req *req; @@ -280,11 +280,11 @@ __releases(&fc->lock) list_del(&req->intr_entry); req->state = FUSE_REQ_FINISHED; if (req->background) { - if (fc->num_background == FUSE_MAX_BACKGROUND) { + if (fc->num_background == fc->max_background) { fc->blocked = 0; wake_up_all(&fc->blocked_waitq); } - if (fc->num_background == FUSE_CONGESTION_THRESHOLD && + if (fc->num_background == fc->congestion_threshold && fc->connected && fc->bdi_initialized) { clear_bdi_congested(&fc->bdi, READ); clear_bdi_congested(&fc->bdi, WRITE); @@ -410,9 +410,9 @@ static void fuse_request_send_nowait_locked(struct fuse_conn *fc, { req->background = 1; fc->num_background++; - if (fc->num_background == FUSE_MAX_BACKGROUND) + if (fc->num_background == fc->max_background) fc->blocked = 1; - if (fc->num_background == FUSE_CONGESTION_THRESHOLD && + if (fc->num_background == fc->congestion_threshold && fc->bdi_initialized) { set_bdi_congested(&fc->bdi, READ); set_bdi_congested(&fc->bdi, WRITE); |