xfs: Disallow 32bit project quota id
Currently on-disk structure is able to keep only 16bit project quota id, so disallow 32bit ones. This fixes a problem where parts of kernel structures holding project quota id are 32bit while parts (on-disk) are 16bit variables which causes project quota member files to be inaccessible for some operations (like mv/rm). Signed-off-by: Arkadiusz Mi?kiewicz <arekm@maven.pl> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Alex Elder <aelder@sgi.com>
This commit is contained in:
parent
2bfc96a127
commit
23963e54ce
|
@ -906,6 +906,13 @@ xfs_ioctl_setattr(
|
|||
if (XFS_FORCED_SHUTDOWN(mp))
|
||||
return XFS_ERROR(EIO);
|
||||
|
||||
/*
|
||||
* Disallow 32bit project ids because on-disk structure
|
||||
* is 16bit only.
|
||||
*/
|
||||
if ((mask & FSX_PROJID) && (fa->fsx_projid > (__uint16_t)-1))
|
||||
return XFS_ERROR(EINVAL);
|
||||
|
||||
/*
|
||||
* If disk quotas is on, we make sure that the dquots do exist on disk,
|
||||
* before we start any other transactions. Trying to do this later
|
||||
|
|
Loading…
Reference in New Issue