summaryrefslogtreecommitdiff
path: root/include/linux/quota.h
diff options
context:
space:
mode:
authorAndrew Morton <akpm@digeo.com>2003-04-12 12:55:21 -0700
committerJames Bottomley <jejb@raven.il.steeleye.com>2003-04-12 12:55:21 -0700
commit36b4f8255f6299dffdd923dba0d55ae76f1f8a1d (patch)
tree6da6decb7d990e1f6f60c269ff5892d110635ec1 /include/linux/quota.h
parentedf20d3a05e5099347f58bd7ddf729a6489340c7 (diff)
[PATCH] Fix deadlock with ext3+quota
From: Jan Kara <jack@ucw.cz> Fixes a deadlock-causing lock-ranking bug between dqio_sem and journal_start(). It sets up the needed infrastructure so that the quota code's sync_dquot() operation can call into ext3 and arrange for the transaction start to be nested outside the taking of dqio_sem.
Diffstat (limited to 'include/linux/quota.h')
-rw-r--r--include/linux/quota.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/quota.h b/include/linux/quota.h
index e1c097e338d9..77d017472dc7 100644
--- a/include/linux/quota.h
+++ b/include/linux/quota.h
@@ -250,6 +250,7 @@ struct dquot_operations {
void (*free_space) (struct inode *, qsize_t);
void (*free_inode) (const struct inode *, unsigned long);
int (*transfer) (struct inode *, struct iattr *);
+ int (*sync_dquot) (struct dquot *);
};
/* Operations handling requests from userspace */
@@ -303,6 +304,7 @@ struct quota_info {
int register_quota_format(struct quota_format_type *fmt);
void unregister_quota_format(struct quota_format_type *fmt);
+void init_dquot_operations(struct dquot_operations *fsdqops);
#else