]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - include/linux/quotaops.h
Merge branch 'drm-next-3.15-wip' of git://people.freedesktop.org/~deathsimple/linux...
[karo-tx-linux.git] / include / linux / quotaops.h
index 6965fe394c3bb9d3b66681a8bfd1b9f84a970def..1d3eee594cd6773ef2fd6f34fd8546c36d2a3221 100644 (file)
@@ -46,6 +46,14 @@ void inode_reclaim_rsv_space(struct inode *inode, qsize_t number);
 void dquot_initialize(struct inode *inode);
 void dquot_drop(struct inode *inode);
 struct dquot *dqget(struct super_block *sb, struct kqid qid);
+static inline struct dquot *dqgrab(struct dquot *dquot)
+{
+       /* Make sure someone else has active reference to dquot */
+       WARN_ON_ONCE(!atomic_read(&dquot->dq_count));
+       WARN_ON_ONCE(!test_bit(DQ_ACTIVE_B, &dquot->dq_flags));
+       atomic_inc(&dquot->dq_count);
+       return dquot;
+}
 void dqput(struct dquot *dquot);
 int dquot_scan_active(struct super_block *sb,
                      int (*fn)(struct dquot *dquot, unsigned long priv),