lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <D256A968.116805%andreas.dilger@intel.com>
Date:	Wed, 28 Oct 2015 22:34:21 +0000
From:	"Dilger, Andreas" <andreas.dilger@...el.com>
To:	James Simmons <jsimmons@...radead.org>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
	"devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
	"Drokin, Oleg" <oleg.drokin@...el.com>
CC:	James Simmons <uja.ornl@...oo.com>,
	Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
	"lustre-devel@...ts.lustre.org" <lustre-devel@...ts.lustre.org>
Subject: Re: [lustre-devel] [PATCH 08/10] staging: lustre: remove white
 space in libcfs_hash.h

On 2015/10/28, 10:54, "lustre-devel on behalf of James Simmons"
<lustre-devel-bounces@...ts.lustre.org on behalf of
jsimmons@...radead.org> wrote:

>From: James Simmons <uja.ornl@...oo.com>
>
>Cleanup all the unneeded white space in libcfs_hash.h.
>
>Signed-off-by: James Simmons <jsimmons@...radead.org>

Minor note - it would be better to keep these two email addresses
consistent.

>struct cfs_hash_bd {
>-	struct cfs_hash_bucket	*bd_bucket;      /**< address of bucket */
>-	unsigned int		bd_offset;      /**< offset in bucket */
>+	/**< address of bucket */
>+	struct cfs_hash_bucket	*bd_bucket;
>+	/**< offset in bucket */
>+	unsigned int		 bd_offset;
> };

The "/**< ... */" marker means "the field to the left", but if you are
moving these to the line before the field you should just use "/* ... */".

Cheers, Andreas

> 
>-#define CFS_HASH_NAME_LEN	   16      /**< default name length */
>-#define CFS_HASH_BIGNAME_LEN	64      /**< bigname for param tree */
>+#define CFS_HASH_NAME_LEN	16	/**< default name length */
>+#define CFS_HASH_BIGNAME_LEN	64	/**< bigname for param tree */
> 
>-#define CFS_HASH_BKT_BITS	   3       /**< default bits of bucket */
>-#define CFS_HASH_BITS_MAX	   30      /**< max bits of bucket */
>-#define CFS_HASH_BITS_MIN	   CFS_HASH_BKT_BITS
>+#define CFS_HASH_BKT_BITS	3	/**< default bits of bucket */
>+#define CFS_HASH_BITS_MAX	30	/**< max bits of bucket */
>+#define CFS_HASH_BITS_MIN	CFS_HASH_BKT_BITS
> 
> /**
>  * common hash attributes.
>@@ -133,41 +129,41 @@ enum cfs_hash_tag {
> 	 */
> 	CFS_HASH_NO_LOCK	= 1 << 0,
> 	/** no bucket lock, use one spinlock to protect the whole hash */
>-	CFS_HASH_NO_BKTLOCK     = 1 << 1,
>+	CFS_HASH_NO_BKTLOCK	= 1 << 1,
> 	/** rwlock to protect bucket */
>-	CFS_HASH_RW_BKTLOCK     = 1 << 2,
>+	CFS_HASH_RW_BKTLOCK	= 1 << 2,
> 	/** spinlock to protect bucket */
>-	CFS_HASH_SPIN_BKTLOCK   = 1 << 3,
>+	CFS_HASH_SPIN_BKTLOCK	= 1 << 3,
> 	/** always add new item to tail */
>-	CFS_HASH_ADD_TAIL       = 1 << 4,
>+	CFS_HASH_ADD_TAIL	= 1 << 4,
> 	/** hash-table doesn't have refcount on item */
>-	CFS_HASH_NO_ITEMREF     = 1 << 5,
>+	CFS_HASH_NO_ITEMREF	= 1 << 5,
> 	/** big name for param-tree */
> 	CFS_HASH_BIGNAME	= 1 << 6,
> 	/** track global count */
> 	CFS_HASH_COUNTER	= 1 << 7,
> 	/** rehash item by new key */
>-	CFS_HASH_REHASH_KEY     = 1 << 8,
>+	CFS_HASH_REHASH_KEY	= 1 << 8,
> 	/** Enable dynamic hash resizing */
>-	CFS_HASH_REHASH	 = 1 << 9,
>+	CFS_HASH_REHASH		= 1 << 9,
> 	/** can shrink hash-size */
>-	CFS_HASH_SHRINK	 = 1 << 10,
>+	CFS_HASH_SHRINK		= 1 << 10,
> 	/** assert hash is empty on exit */
>-	CFS_HASH_ASSERT_EMPTY   = 1 << 11,
>+	CFS_HASH_ASSERT_EMPTY	= 1 << 11,
> 	/** record hlist depth */
>-	CFS_HASH_DEPTH	  = 1 << 12,
>+	CFS_HASH_DEPTH		= 1 << 12,
> 	/**
> 	 * rehash is always scheduled in a different thread, so current
> 	 * change on hash table is non-blocking
> 	 */
>-	CFS_HASH_NBLK_CHANGE    = 1 << 13,
>+	CFS_HASH_NBLK_CHANGE	= 1 << 13,
> 	/** NB, we typed hs_flags as  __u16, please change it
> 	 * if you need to extend >=16 flags */
> };
> 
> /** most used attributes */
>-#define CFS_HASH_DEFAULT       (CFS_HASH_RW_BKTLOCK | \
>-				CFS_HASH_COUNTER | CFS_HASH_REHASH)
>+#define CFS_HASH_DEFAULT	(CFS_HASH_RW_BKTLOCK | \
>+				 CFS_HASH_COUNTER | CFS_HASH_REHASH)
> 
> /**
>  * cfs_hash is a hash-table implementation for general purpose, it can
>support:
>@@ -211,7 +207,7 @@ enum cfs_hash_tag {
> struct cfs_hash {
> 	/** serialize with rehash, or serialize all operations if
> 	 * the hash-table has CFS_HASH_NO_BKTLOCK */
>-	union cfs_hash_lock		 hs_lock;
>+	union cfs_hash_lock		hs_lock;
> 	/** hash operations */
> 	struct cfs_hash_ops		*hs_ops;
> 	/** hash lock operations */
>@@ -219,57 +215,57 @@ struct cfs_hash {
> 	/** hash list operations */
> 	struct cfs_hash_hlist_ops	*hs_hops;
> 	/** hash buckets-table */
>-	struct cfs_hash_bucket	 **hs_buckets;
>+	struct cfs_hash_bucket		**hs_buckets;
> 	/** total number of items on this hash-table */
>-	atomic_t		hs_count;
>+	atomic_t			hs_count;
> 	/** hash flags, see cfs_hash_tag for detail */
>-	__u16		       hs_flags;
>+	__u16				hs_flags;
> 	/** # of extra-bytes for bucket, for user saving extended attributes */
>-	__u16		       hs_extra_bytes;
>+	__u16				hs_extra_bytes;
> 	/** wants to iterate */
>-	__u8			hs_iterating;
>+	__u8				hs_iterating;
> 	/** hash-table is dying */
>-	__u8			hs_exiting;
>+	__u8				hs_exiting;
> 	/** current hash bits */
>-	__u8			hs_cur_bits;
>+	__u8				hs_cur_bits;
> 	/** min hash bits */
>-	__u8			hs_min_bits;
>+	__u8				hs_min_bits;
> 	/** max hash bits */
>-	__u8			hs_max_bits;
>+	__u8				hs_max_bits;
> 	/** bits for rehash */
>-	__u8			hs_rehash_bits;
>+	__u8				hs_rehash_bits;
> 	/** bits for each bucket */
>-	__u8			hs_bkt_bits;
>+	__u8				hs_bkt_bits;
> 	/** resize min threshold */
>-	__u16		       hs_min_theta;
>+	__u16				hs_min_theta;
> 	/** resize max threshold */
>-	__u16		       hs_max_theta;
>+	__u16				hs_max_theta;
> 	/** resize count */
>-	__u32		       hs_rehash_count;
>+	__u32				hs_rehash_count;
> 	/** # of iterators (caller of cfs_hash_for_each_*) */
>-	__u32		       hs_iterators;
>+	__u32				hs_iterators;
> 	/** rehash workitem */
>-	cfs_workitem_t	      hs_rehash_wi;
>+	cfs_workitem_t			hs_rehash_wi;
> 	/** refcount on this hash table */
>-	atomic_t		hs_refcount;
>+	atomic_t			hs_refcount;
> 	/** rehash buckets-table */
>-	struct cfs_hash_bucket	 **hs_rehash_buckets;
>+	struct cfs_hash_bucket		**hs_rehash_buckets;
> #if CFS_HASH_DEBUG_LEVEL >= CFS_HASH_DEBUG_1
> 	/** serialize debug members */
> 	spinlock_t			hs_dep_lock;
> 	/** max depth */
>-	unsigned int		hs_dep_max;
>+	unsigned int			hs_dep_max;
> 	/** id of the deepest bucket */
>-	unsigned int		hs_dep_bkt;
>+	unsigned int			hs_dep_bkt;
> 	/** offset in the deepest bucket */
>-	unsigned int		hs_dep_off;
>+	unsigned int			hs_dep_off;
> 	/** bits when we found the max depth */
>-	unsigned int		hs_dep_bits;
>+	unsigned int			hs_dep_bits;
> 	/** workitem to output max depth */
>-	cfs_workitem_t	      hs_dep_wi;
>+	cfs_workitem_t			hs_dep_wi;
> #endif
> 	/** name of htable */
>-	char			hs_name[0];
>+	char				hs_name[0];
> };
> 
> struct cfs_hash_lock_ops {
>@@ -324,11 +320,11 @@ struct cfs_hash_ops {
> };
> 
> /** total number of buckets in @hs */
>-#define CFS_HASH_NBKT(hs)       \
>+#define CFS_HASH_NBKT(hs)	\
> 	(1U << ((hs)->hs_cur_bits - (hs)->hs_bkt_bits))
> 
> /** total number of buckets in @hs while rehashing */
>-#define CFS_HASH_RH_NBKT(hs)    \
>+#define CFS_HASH_RH_NBKT(hs)	\
> 	(1U << ((hs)->hs_rehash_bits - (hs)->hs_bkt_bits))
> 
> /** number of hlist for in bucket */
>@@ -433,19 +429,22 @@ cfs_hash_with_nblk_change(struct cfs_hash *hs)
> 
> static inline int
> cfs_hash_is_exiting(struct cfs_hash *hs)
>-{       /* cfs_hash_destroy is called */
>+{
>+	/* cfs_hash_destroy is called */
> 	return hs->hs_exiting;
> }
> 
> static inline int
> cfs_hash_is_rehashing(struct cfs_hash *hs)
>-{       /* rehash is launched */
>+{
>+	/* rehash is launched */
> 	return hs->hs_rehash_bits != 0;
> }
> 
> static inline int
> cfs_hash_is_iterating(struct cfs_hash *hs)
>-{       /* someone is calling cfs_hash_for_each_* */
>+{
>+	/* someone is calling cfs_hash_for_each_* */
> 	return hs->hs_iterating || hs->hs_iterators != 0;
> }
> 
>@@ -758,7 +757,7 @@ static inline void
> cfs_hash_bucket_validate(struct cfs_hash *hs, struct cfs_hash_bd *bd,
> 			 struct hlist_node *hnode)
> {
>-	struct cfs_hash_bd   bds[2];
>+	struct cfs_hash_bd bds[2];
> 
> 	cfs_hash_dual_bd_get(hs, cfs_hash_key(hs, hnode), bds);
> 	LASSERT(bds[0].bd_bucket == bd->bd_bucket ||
>@@ -777,9 +776,9 @@ cfs_hash_bucket_validate(struct cfs_hash *hs, struct
>cfs_hash_bd *bd,
> 
> #endif /* CFS_HASH_DEBUG_LEVEL */
> 
>-#define CFS_HASH_THETA_BITS  10
>-#define CFS_HASH_MIN_THETA  (1U << (CFS_HASH_THETA_BITS - 1))
>-#define CFS_HASH_MAX_THETA  (1U << (CFS_HASH_THETA_BITS + 1))
>+#define CFS_HASH_THETA_BITS	10
>+#define CFS_HASH_MIN_THETA	(1U << (CFS_HASH_THETA_BITS - 1))
>+#define CFS_HASH_MAX_THETA	(1U << (CFS_HASH_THETA_BITS + 1))
> 
> /* Return integer component of theta */
> static inline int __cfs_hash_theta_int(int theta)
>@@ -848,20 +847,20 @@ cfs_hash_u64_hash(const __u64 key, unsigned mask)
> }
> 
> /** iterate over all buckets in @bds (array of struct cfs_hash_bd) */
>-#define cfs_hash_for_each_bd(bds, n, i) \
>+#define cfs_hash_for_each_bd(bds, n, i)	\
> 	for (i = 0; i < n && (bds)[i].bd_bucket != NULL; i++)
> 
> /** iterate over all buckets of @hs */
>-#define cfs_hash_for_each_bucket(hs, bd, pos)		   \
>-	for (pos = 0;					   \
>-	     pos < CFS_HASH_NBKT(hs) &&			 \
>+#define cfs_hash_for_each_bucket(hs, bd, pos)			\
>+	for (pos = 0;						\
>+	     pos < CFS_HASH_NBKT(hs) &&				\
> 	     ((bd)->bd_bucket = (hs)->hs_buckets[pos]) != NULL; pos++)
> 
> /** iterate over all hlist of bucket @bd */
>-#define cfs_hash_bd_for_each_hlist(hs, bd, hlist)	       \
>-	for ((bd)->bd_offset = 0;			       \
>-	     (bd)->bd_offset < CFS_HASH_BKT_NHLIST(hs) &&       \
>-	     (hlist = cfs_hash_bd_hhead(hs, bd)) != NULL;       \
>+#define cfs_hash_bd_for_each_hlist(hs, bd, hlist)		\
>+	for ((bd)->bd_offset = 0;				\
>+	     (bd)->bd_offset < CFS_HASH_BKT_NHLIST(hs) &&	\
>+	     (hlist = cfs_hash_bd_hhead(hs, bd)) != NULL;	\
> 	     (bd)->bd_offset++)
> 
> /* !__LIBCFS__HASH_H__ */
>-- 
>1.7.1
>
>_______________________________________________
>lustre-devel mailing list
>lustre-devel@...ts.lustre.org
>http://lists.lustre.org/listinfo.cgi/lustre-devel-lustre.org
>


Cheers, Andreas
-- 
Andreas Dilger

Lustre Software Architect
Intel High Performance Data Division


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ