~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/gfs2/quota.h

Version: ~ [ linux-5.16 ] ~ [ linux-5.15.13 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.90 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.170 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.224 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.261 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.296 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.298 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /*
  2  * Copyright (C) Sistina Software, Inc.  1997-2003 All rights reserved.
  3  * Copyright (C) 2004-2006 Red Hat, Inc.  All rights reserved.
  4  *
  5  * This copyrighted material is made available to anyone wishing to use,
  6  * modify, copy, or redistribute it subject to the terms and conditions
  7  * of the GNU General Public License version 2.
  8  */
  9 
 10 #ifndef __QUOTA_DOT_H__
 11 #define __QUOTA_DOT_H__
 12 
 13 #include <linux/list_lru.h>
 14 
 15 struct gfs2_inode;
 16 struct gfs2_sbd;
 17 
 18 #define NO_UID_QUOTA_CHANGE INVALID_UID
 19 #define NO_GID_QUOTA_CHANGE INVALID_GID
 20 
 21 extern int gfs2_qa_alloc(struct gfs2_inode *ip);
 22 extern void gfs2_qa_delete(struct gfs2_inode *ip, atomic_t *wcount);
 23 extern int gfs2_quota_hold(struct gfs2_inode *ip, kuid_t uid, kgid_t gid);
 24 extern void gfs2_quota_unhold(struct gfs2_inode *ip);
 25 
 26 extern int gfs2_quota_lock(struct gfs2_inode *ip, kuid_t uid, kgid_t gid);
 27 extern void gfs2_quota_unlock(struct gfs2_inode *ip);
 28 
 29 extern int gfs2_quota_check(struct gfs2_inode *ip, kuid_t uid, kgid_t gid,
 30                             struct gfs2_alloc_parms *ap);
 31 extern void gfs2_quota_change(struct gfs2_inode *ip, s64 change,
 32                               kuid_t uid, kgid_t gid);
 33 
 34 extern int gfs2_quota_sync(struct super_block *sb, int type);
 35 extern int gfs2_quota_refresh(struct gfs2_sbd *sdp, struct kqid qid);
 36 
 37 extern int gfs2_quota_init(struct gfs2_sbd *sdp);
 38 extern void gfs2_quota_cleanup(struct gfs2_sbd *sdp);
 39 extern int gfs2_quotad(void *data);
 40 
 41 extern void gfs2_wake_up_statfs(struct gfs2_sbd *sdp);
 42 
 43 static inline int gfs2_quota_lock_check(struct gfs2_inode *ip,
 44                                         struct gfs2_alloc_parms *ap)
 45 {
 46         struct gfs2_sbd *sdp = GFS2_SB(&ip->i_inode);
 47         int ret;
 48         if (sdp->sd_args.ar_quota == GFS2_QUOTA_OFF)
 49                 return 0;
 50         ret = gfs2_quota_lock(ip, NO_UID_QUOTA_CHANGE, NO_GID_QUOTA_CHANGE);
 51         if (ret)
 52                 return ret;
 53         if (sdp->sd_args.ar_quota != GFS2_QUOTA_ON)
 54                 return 0;
 55         ret = gfs2_quota_check(ip, ip->i_inode.i_uid, ip->i_inode.i_gid, ap);
 56         if (ret)
 57                 gfs2_quota_unlock(ip);
 58         return ret;
 59 }
 60 
 61 extern const struct quotactl_ops gfs2_quotactl_ops;
 62 extern struct shrinker gfs2_qd_shrinker;
 63 extern struct list_lru gfs2_qd_lru;
 64 extern void __init gfs2_quota_hash_init(void);
 65 
 66 #endif /* __QUOTA_DOT_H__ */
 67 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp