return (uint64_t)-1;
}
- if (disk_quotas(conn, fname, &bsize_q, &dfree_q, &dsize_q)) {
+ if (disk_quotas(conn, fsp, &bsize_q, &dfree_q, &dsize_q)) {
uint64_t min_bsize = MIN(*bsize, bsize_q);
(*dfree) = (*dfree) * (*bsize) / min_bsize;
/* The following definitions come from smbd/quotas.c */
-bool disk_quotas(connection_struct *conn, struct smb_filename *fname,
- uint64_t *bsize, uint64_t *dfree, uint64_t *dsize);
+bool disk_quotas(connection_struct *conn,
+ struct files_struct *fsp,
+ uint64_t *bsize,
+ uint64_t *dfree,
+ uint64_t *dsize);
/* The following definitions come from smbd/smb2_reply.c */
Quota code by Peter Urbanec (amiga@cse.unsw.edu.au).
****************************************************************************/
-bool disk_quotas(connection_struct *conn, struct smb_filename *fname,
- uint64_t *bsize, uint64_t *dfree, uint64_t *dsize)
+bool disk_quotas(connection_struct *conn,
+ struct files_struct *fsp,
+ uint64_t *bsize,
+ uint64_t *dfree,
+ uint64_t *dsize)
{
+ struct smb_filename *fname = fsp->fsp_name;
uid_t euser_id;
int ret;
struct dqblk D;
#else /* WITH_QUOTAS */
-bool disk_quotas(connection_struct *conn, struct smb_filename *fname,
- uint64_t *bsize, uint64_t *dfree, uint64_t *dsize)
+bool disk_quotas(connection_struct *conn,
+ struct files_struct *fsp,
+ uint64_t *bsize,
+ uint64_t *dfree,
+ uint64_t *dsize)
{
(*bsize) = 512; /* This value should be ignored */
/* wrapper to the new sys_quota interface
this file should be removed later
*/
-bool disk_quotas(connection_struct *conn, struct smb_filename *fname,
- uint64_t *bsize, uint64_t *dfree, uint64_t *dsize)
+bool disk_quotas(connection_struct *conn,
+ struct files_struct *fsp,
+ uint64_t *bsize,
+ uint64_t *dfree,
+ uint64_t *dsize)
{
+ struct smb_filename *fname = fsp->fsp_name;
int r;
SMB_DISK_QUOTA D;
unid_t id;