Il 17/07/20 10:54, Karl Vogel ha scritto:> It depends on the size of the variables in the structure used by the > stat() call. In ext4, the "links" variable is an unsigned 16-bit integer, > so you have your limit of 64k or so. I've worked with systems where > the limit was a signed 16-bit integer, so it maxed out at 32k. > > XFS may be a full 32-bit integer, so your test script could be running > for quite some time. Or it may just allocate space as it needs. It sounds > like you have plenty of room for links, so I wouldn't worry. > > -- > Karl Vogel / vogelke at pobox.com / I don't speak for the USAF or my company > > Don't accept your dog's admiration as > conclusive evidence that you are wonderful. --Ann LandersHi Karl, thank you for your clarification. I will try to rearch this limit (by curiosity)
On 17/07/2020 10:30, Alessandro Baggi wrote:> > Il 17/07/20 10:54, Karl Vogel ha scritto: >> It depends on the size of the variables in the structure used by the >> stat() call.? In ext4, the "links" variable is an unsigned 16-bit >> integer, >> so you have your limit of 64k or so.? I've worked with systems where >> the limit was a signed 16-bit integer, so it maxed out at 32k. >> >> XFS may be a full 32-bit integer, so your test script could be running >> for quite some time.? Or it may just allocate space as it needs.? It >> sounds >> like you have plenty of room for links, so I wouldn't worry. >> >> -- >> Karl Vogel / vogelke at pobox.com / I don't speak for the USAF or my company >> >> Don't accept your dog's admiration as >> conclusive evidence that you are wonderful.???????????? --Ann Landers > > Hi Karl, > > thank you for your clarification. I will try to rearch this limit (by > curiosity) > > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centosHave a look at https://mirrors.edge.kernel.org/pub/linux/utils/fs/xfs/docs/xfs_filesystem_structure.pdf On page 105 the inode structure is given: __uint16_t di_onlink; ... __uint32_t di_nlink Page 107 gives more detail: di_onlink: In v1 inodes, this specifies the number of links to the inode from directories. When the number exceeds 65535,the inode is converted to v2 and the link count is stored in di_nlink. di_nlink: Specifies the number of links to the inode from directories. This is maintained for both inode versions for current versions of XFS. Prior to v2 inodes, this field was part of di_pad. So, the effect is that whatever version you start with, adding more than 65535 links will force it to version 2 and give you up to 4,294,967,295 links! -- J Martin Rushton MBCS
Hi Martin, thank you very much for your explanation. +1 Il Ven 17 Lug 2020, 12:14 J Martin Rushton via CentOS <centos at centos.org> ha scritto:> On 17/07/2020 10:30, Alessandro Baggi wrote: > > > > Il 17/07/20 10:54, Karl Vogel ha scritto: > >> It depends on the size of the variables in the structure used by the > >> stat() call. In ext4, the "links" variable is an unsigned 16-bit > >> integer, > >> so you have your limit of 64k or so. I've worked with systems where > >> the limit was a signed 16-bit integer, so it maxed out at 32k. > >> > >> XFS may be a full 32-bit integer, so your test script could be running > >> for quite some time. Or it may just allocate space as it needs. It > >> sounds > >> like you have plenty of room for links, so I wouldn't worry. > >> > >> -- > >> Karl Vogel / vogelke at pobox.com / I don't speak for the USAF or my > company > >> > >> Don't accept your dog's admiration as > >> conclusive evidence that you are wonderful. --Ann Landers > > > > Hi Karl, > > > > thank you for your clarification. I will try to rearch this limit (by > > curiosity) > > > > _______________________________________________ > > CentOS mailing list > > CentOS at centos.org > > https://lists.centos.org/mailman/listinfo/centos > > Have a look at > > https://mirrors.edge.kernel.org/pub/linux/utils/fs/xfs/docs/xfs_filesystem_structure.pdf > > On page 105 the inode structure is given: > > __uint16_t di_onlink; > ... > __uint32_t di_nlink > > Page 107 gives more detail: > > di_onlink: > In v1 inodes, this specifies the number of links to the inode from > directories. When the number exceeds 65535,the inode is converted to v2 > and the link count is stored in di_nlink. > > di_nlink: > Specifies the number of links to the inode from directories. This is > maintained for both inode versions for current versions of XFS. Prior to > v2 inodes, this field was part of di_pad. > > So, the effect is that whatever version you start with, adding more than > 65535 links will force it to version 2 and give you up to 4,294,967,295 > links! > > -- > J Martin Rushton MBCS > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos >