Message ID | 154149742122.18189.7228444587279544540.stgit@localhost.localdomain (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | fuse: Further reducing contention of fc->lock | expand |
On Tue, Nov 6, 2018 at 10:43 AM, Kirill Tkhai <ktkhai@virtuozzo.com> wrote: > Next patches introduce fuse_inode::lock, which will be used > in __releases() and __acquires() instead of fc->lock. > This patch makes this function to use argument fuse_inode > instead of inode as preparation for that. This patch seems like perfectly useless, just change fc->lock to fi->lock in the next patch and be done with that. > > Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> > --- > fs/fuse/dir.c | 2 +- > fs/fuse/file.c | 8 ++++---- > fs/fuse/fuse_i.h | 2 +- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c > index 47395b0c3b35..c71f7e9ee0f7 100644 > --- a/fs/fuse/dir.c > +++ b/fs/fuse/dir.c > @@ -1360,7 +1360,7 @@ static void __fuse_release_nowrite(struct inode *inode) > > BUG_ON(fi->writectr != FUSE_NOWRITE); > fi->writectr = 0; > - fuse_flush_writepages(inode); > + fuse_flush_writepages(fi); > } > > void fuse_release_nowrite(struct inode *inode) > diff --git a/fs/fuse/file.c b/fs/fuse/file.c > index cc2121b37bf5..d5bd29610875 100644 > --- a/fs/fuse/file.c > +++ b/fs/fuse/file.c > @@ -1522,12 +1522,12 @@ __acquires(fc->lock) > * > * Called with fc->lock > */ > -void fuse_flush_writepages(struct inode *inode) > +void fuse_flush_writepages(struct fuse_inode *fi) > __releases(fc->lock) > __acquires(fc->lock) > { > + struct inode *inode = &fi->inode; > struct fuse_conn *fc = get_fuse_conn(inode); > - struct fuse_inode *fi = get_fuse_inode(inode); > size_t crop = i_size_read(inode); > struct fuse_req *req; > > @@ -1670,7 +1670,7 @@ static int fuse_writepage_locked(struct page *page) > spin_lock(&fc->lock); > list_add(&req->writepages_entry, &fi->writepages); > list_add_tail(&req->list, &fi->queued_writes); > - fuse_flush_writepages(inode); > + fuse_flush_writepages(fi); > spin_unlock(&fc->lock); > > end_page_writeback(page); > @@ -1728,7 +1728,7 @@ static void fuse_writepages_send(struct fuse_fill_wb_data *data) > req->ff = fuse_file_get(data->ff); > spin_lock(&fc->lock); > list_add_tail(&req->list, &fi->queued_writes); > - fuse_flush_writepages(inode); > + fuse_flush_writepages(fi); > spin_unlock(&fc->lock); > > for (i = 0; i < num_pages; i++) > diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h > index e9f712e81c7d..38bd7ca1908a 100644 > --- a/fs/fuse/fuse_i.h > +++ b/fs/fuse/fuse_i.h > @@ -995,7 +995,7 @@ void fuse_update_ctime(struct inode *inode); > > int fuse_update_attributes(struct inode *inode, struct file *file); > > -void fuse_flush_writepages(struct inode *inode); > +void fuse_flush_writepages(struct fuse_inode *fi); > > void fuse_set_nowrite(struct inode *inode); > void fuse_release_nowrite(struct inode *inode); >
diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 47395b0c3b35..c71f7e9ee0f7 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -1360,7 +1360,7 @@ static void __fuse_release_nowrite(struct inode *inode) BUG_ON(fi->writectr != FUSE_NOWRITE); fi->writectr = 0; - fuse_flush_writepages(inode); + fuse_flush_writepages(fi); } void fuse_release_nowrite(struct inode *inode) diff --git a/fs/fuse/file.c b/fs/fuse/file.c index cc2121b37bf5..d5bd29610875 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -1522,12 +1522,12 @@ __acquires(fc->lock) * * Called with fc->lock */ -void fuse_flush_writepages(struct inode *inode) +void fuse_flush_writepages(struct fuse_inode *fi) __releases(fc->lock) __acquires(fc->lock) { + struct inode *inode = &fi->inode; struct fuse_conn *fc = get_fuse_conn(inode); - struct fuse_inode *fi = get_fuse_inode(inode); size_t crop = i_size_read(inode); struct fuse_req *req; @@ -1670,7 +1670,7 @@ static int fuse_writepage_locked(struct page *page) spin_lock(&fc->lock); list_add(&req->writepages_entry, &fi->writepages); list_add_tail(&req->list, &fi->queued_writes); - fuse_flush_writepages(inode); + fuse_flush_writepages(fi); spin_unlock(&fc->lock); end_page_writeback(page); @@ -1728,7 +1728,7 @@ static void fuse_writepages_send(struct fuse_fill_wb_data *data) req->ff = fuse_file_get(data->ff); spin_lock(&fc->lock); list_add_tail(&req->list, &fi->queued_writes); - fuse_flush_writepages(inode); + fuse_flush_writepages(fi); spin_unlock(&fc->lock); for (i = 0; i < num_pages; i++) diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index e9f712e81c7d..38bd7ca1908a 100644 --- a/fs/fuse/fuse_i.h +++ b/fs/fuse/fuse_i.h @@ -995,7 +995,7 @@ void fuse_update_ctime(struct inode *inode); int fuse_update_attributes(struct inode *inode, struct file *file); -void fuse_flush_writepages(struct inode *inode); +void fuse_flush_writepages(struct fuse_inode *fi); void fuse_set_nowrite(struct inode *inode); void fuse_release_nowrite(struct inode *inode);
Next patches introduce fuse_inode::lock, which will be used in __releases() and __acquires() instead of fc->lock. This patch makes this function to use argument fuse_inode instead of inode as preparation for that. Signed-off-by: Kirill Tkhai <ktkhai@virtuozzo.com> --- fs/fuse/dir.c | 2 +- fs/fuse/file.c | 8 ++++---- fs/fuse/fuse_i.h | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-)