Whamcloud - gitweb
libext2fs: use ext2fs_punch() to truncate quota file
[tools/e2fsprogs.git] / lib / quota / mkquota.h
index e3ec8c2..ee15071 100644 (file)
  * {
  *     quota_ctx_t qctx;
  *
- *     init_quota_context(&qctx, fs, -1);
+ *     quota_init_context(&qctx, fs, -1);
  *     {
- *             compute_quota(qctx, -1);
+ *             quota_compute_usage(qctx, -1);
  *             AND/OR
  *             quota_data_add/quota_data_sub/quota_data_inodes();
  *     }
- *     write_quota_inode(qctx, USRQUOTA);
- *     write_quota_inode(qctx, GRPQUOTA);
- *     release_quota_context(&qctx);
+ *     quota_write_inode(qctx, USRQUOTA);
+ *     quota_write_inode(qctx, GRPQUOTA);
+ *     quota_release_context(&qctx);
  * }
  *
  * This initial version does not support reading the quota files. This support
@@ -32,7 +32,7 @@
 
 #include "ext2fs/ext2_fs.h"
 #include "ext2fs/ext2fs.h"
-#include "quota.h"
+#include "quotaio.h"
 #include "../e2fsck/dict.h"
 
 typedef struct quota_ctx *quota_ctx_t;
@@ -42,20 +42,23 @@ struct quota_ctx {
        dict_t          *quota_dict[MAXQUOTAS];
 };
 
-void init_quota_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype);
+/* In mkquota.c */
+errcode_t quota_init_context(quota_ctx_t *qctx, ext2_filsys fs, int qtype);
 void quota_data_inodes(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
                int adjust);
 void quota_data_add(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
                qsize_t space);
 void quota_data_sub(quota_ctx_t qctx, struct ext2_inode *inode, ext2_ino_t ino,
                qsize_t space);
-errcode_t write_quota_inode(quota_ctx_t qctx, int qtype);
-errcode_t compute_quota(quota_ctx_t qctx, int qtype);
-void release_quota_context(quota_ctx_t *qctx);
+errcode_t quota_write_inode(quota_ctx_t qctx, int qtype);
+errcode_t quota_update_limits(quota_ctx_t qctx, ext2_ino_t qf_ino, int type);
+errcode_t quota_compute_usage(quota_ctx_t qctx);
+void quota_release_context(quota_ctx_t *qctx);
 
-errcode_t remove_quota_inode(ext2_filsys fs, int qtype);
-int is_quota_on(ext2_filsys fs, int type);
-int quota_file_exists(ext2_filsys fs, int qtype);
-void set_sb_quota_inum(ext2_filsys fs, ext2_ino_t ino, int qtype);
+errcode_t quota_remove_inode(ext2_filsys fs, int qtype);
+int quota_file_exists(ext2_filsys fs, int qtype, int fmt);
+void quota_set_sb_inum(ext2_filsys fs, ext2_ino_t ino, int qtype);
+errcode_t quota_compare_and_update(quota_ctx_t qctx, int qtype,
+                                  int *usage_inconsistent);
 
 #endif  /* __QUOTA_QUOTAIO_H__ */