Increase link count limit to 2^31-1
authorBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 13 Jan 2012 19:35:05 +0000 (11:35 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Fri, 13 Jan 2012 19:43:59 +0000 (11:43 -0800)
Originally, the per-file link limit was set to 65536 because the
exact Linux VFS limit was unclear.  Internally ZFS is able to
support 64-bit link counts.  After a more careful investigation
the limit can be safely raised to 2^31-1.

Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #514

include/sys/zfs_vfsops.h

index b7badee..7b70f32 100644 (file)
@@ -113,10 +113,10 @@ typedef struct zfs_sb {
 
 /*
  * Allow a maximum number of links.  While ZFS does not internally limit
- * this most Linux filesystems do.  It's probably a good idea to limit
- * this to a large value until it is validated that this is safe.
+ * this the inode->i_nlink member is defined as an unsigned int.  To be
+ * safe we use 2^31-1 as the limit.
  */
-#define ZFS_LINK_MAX           65536
+#define ZFS_LINK_MAX           ((1U << 31) - 1U)
 
 /*
  * Normal filesystems (those not under .zfs/snapshot) have a total