]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - fs/gfs2/quota.c
[GFS2] tidy up error message
[linux-2.6-omap-h63xx.git] / fs / gfs2 / quota.c
index 6e546ee8f3d4d237e01f44aac67db0a35dc0f296..4996f0ef30076aa0ba30425c4d5b42fe96141226 100644 (file)
@@ -59,7 +59,6 @@
 #include "super.h"
 #include "trans.h"
 #include "inode.h"
-#include "ops_file.h"
 #include "ops_address.h"
 #include "util.h"
 
@@ -70,6 +69,7 @@ struct gfs2_quota_host {
        u64 qu_limit;
        u64 qu_warn;
        s64 qu_value;
+       u32 qu_ll_next;
 };
 
 struct gfs2_quota_change_host {
@@ -580,6 +580,7 @@ static void gfs2_quota_in(struct gfs2_quota_host *qu, const void *buf)
        qu->qu_limit = be64_to_cpu(str->qu_limit);
        qu->qu_warn = be64_to_cpu(str->qu_warn);
        qu->qu_value = be64_to_cpu(str->qu_value);
+       qu->qu_ll_next = be32_to_cpu(str->qu_ll_next);
 }
 
 static void gfs2_quota_out(const struct gfs2_quota_host *qu, void *buf)
@@ -589,6 +590,7 @@ static void gfs2_quota_out(const struct gfs2_quota_host *qu, void *buf)
        str->qu_limit = cpu_to_be64(qu->qu_limit);
        str->qu_warn = cpu_to_be64(qu->qu_warn);
        str->qu_value = cpu_to_be64(qu->qu_value);
+       str->qu_ll_next = cpu_to_be32(qu->qu_ll_next);
        memset(&str->qu_reserved, 0, sizeof(str->qu_reserved));
 }
 
@@ -614,6 +616,16 @@ static int gfs2_adjust_quota(struct gfs2_inode *ip, loff_t loc,
        s64 value;
        int err = -EIO;
 
+       if (gfs2_is_stuffed(ip)) {
+               struct gfs2_alloc *al = NULL;
+               al = gfs2_alloc_get(ip);
+               /* just request 1 blk */
+               al->al_requested = 1;
+               gfs2_inplace_reserve(ip);
+               gfs2_unstuff_dinode(ip, NULL);
+               gfs2_inplace_release(ip);
+               gfs2_alloc_put(ip);
+       }
        page = grab_cache_page(mapping, index);
        if (!page)
                return -ENOMEM;
@@ -780,11 +792,9 @@ static int do_glock(struct gfs2_quota_data *qd, int force_refresh,
        struct gfs2_holder i_gh;
        struct gfs2_quota_host q;
        char buf[sizeof(struct gfs2_quota)];
-       struct file_ra_state ra_state;
        int error;
        struct gfs2_quota_lvb *qlvb;
 
-       file_ra_state_init(&ra_state, sdp->sd_quota_inode->i_mapping);
 restart:
        error = gfs2_glock_nq_init(qd->qd_gl, LM_ST_SHARED, 0, q_gh);
        if (error)
@@ -807,8 +817,8 @@ restart:
 
                memset(buf, 0, sizeof(struct gfs2_quota));
                pos = qd2offset(qd);
-               error = gfs2_internal_read(ip, &ra_state, buf,
-                                          &pos, sizeof(struct gfs2_quota));
+               error = gfs2_internal_read(ip, NULL, buf, &pos,
+                                          sizeof(struct gfs2_quota));
                if (error < 0)
                        goto fail_gunlock;