gfs2: Remove unnecessary gfs2_qa_{get,put} pairs
authorAndreas Gruenbacher <agruenba@redhat.com>
Fri, 6 Mar 2020 16:51:41 +0000 (10:51 -0600)
committerBob Peterson <rpeterso@redhat.com>
Fri, 27 Mar 2020 19:08:05 +0000 (14:08 -0500)
We now get the quota data structure when opening a file writable and put it
when closing that writable file descriptor, so there no longer is a need for
gfs2_qa_{get,put} while we're holding a writable file descriptor.

Signed-off-by: Andreas Gruenbacher <agruenba@redhat.com>
Signed-off-by: Bob Peterson <rpeterso@redhat.com>
fs/gfs2/file.c

index 99a75e779ac0f944d4f9563e8b1654f26f5852da..fe305e4bfd37345048aa6859ed75b74c1699987a 100644 (file)
@@ -458,10 +458,6 @@ static vm_fault_t gfs2_page_mkwrite(struct vm_fault *vmf)
 
        sb_start_pagefault(inode->i_sb);
 
-       ret = gfs2_qa_get(ip);
-       if (ret)
-               goto out;
-
        gfs2_holder_init(ip->i_gl, LM_ST_EXCLUSIVE, 0, &gh);
        ret = gfs2_glock_nq(&gh);
        if (ret)
@@ -553,13 +549,11 @@ out_quota_unlock:
 out_unlock:
        gfs2_glock_dq(&gh);
 out_uninit:
-       gfs2_qa_put(ip);
        gfs2_holder_uninit(&gh);
        if (ret == 0) {
                set_page_dirty(page);
                wait_for_stable_page(page);
        }
-out:
        sb_end_pagefault(inode->i_sb);
        return block_page_mkwrite_return(ret);
 }
@@ -860,10 +854,6 @@ static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
        struct gfs2_inode *ip = GFS2_I(inode);
        ssize_t ret;
 
-       ret = gfs2_qa_get(ip);
-       if (ret)
-               return ret;
-
        gfs2_size_hint(file, iocb->ki_pos, iov_iter_count(from));
 
        if (iocb->ki_flags & IOCB_APPEND) {
@@ -871,7 +861,7 @@ static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
 
                ret = gfs2_glock_nq_init(ip->i_gl, LM_ST_SHARED, 0, &gh);
                if (ret)
-                       goto out;
+                       return ret;
                gfs2_glock_dq_uninit(&gh);
        }
 
@@ -929,8 +919,6 @@ static ssize_t gfs2_file_write_iter(struct kiocb *iocb, struct iov_iter *from)
 
 out_unlock:
        inode_unlock(inode);
-out:
-       gfs2_qa_put(ip);
        return ret;
 }
 
@@ -1162,18 +1150,11 @@ static long gfs2_fallocate(struct file *file, int mode, loff_t offset, loff_t le
        if (mode & FALLOC_FL_PUNCH_HOLE) {
                ret = __gfs2_punch_hole(file, offset, len);
        } else {
-               ret = gfs2_qa_get(ip);
-               if (ret)
-                       goto out_putw;
-
                ret = __gfs2_fallocate(file, mode, offset, len);
-
                if (ret)
                        gfs2_rs_deltree(&ip->i_res);
-               gfs2_qa_put(ip);
        }
 
-out_putw:
        put_write_access(inode);
 out_unlock:
        gfs2_glock_dq(&gh);
@@ -1187,18 +1168,11 @@ static ssize_t gfs2_file_splice_write(struct pipe_inode_info *pipe,
                                      struct file *out, loff_t *ppos,
                                      size_t len, unsigned int flags)
 {
-       int error;
-       struct gfs2_inode *ip = GFS2_I(out->f_mapping->host);
        ssize_t ret;
 
-       error = gfs2_qa_get(ip);
-       if (error)
-               return (ssize_t)error;
-
        gfs2_size_hint(out, *ppos, len);
 
        ret = iter_file_splice_write(pipe, out, ppos, len, flags);
-       gfs2_qa_put(ip);
        return ret;
 }