linux-f2fs-devel.lists.sourceforge.net archive mirror
 help / color / mirror / Atom feed
* [f2fs-dev] [PATCH 1/2] f2fs: delete useless space
@ 2020-07-20 12:19 Jack Qiu
  2020-07-20 12:19 ` [f2fs-dev] [PATCH 2/2] f2fs: change spaces into tab Jack Qiu
  2020-07-24  1:28 ` [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Chao Yu
  0 siblings, 2 replies; 4+ messages in thread
From: Jack Qiu @ 2020-07-20 12:19 UTC (permalink / raw)
  To: linux-f2fs-devel

Just for code style, no logic change

Signed-off-by: Jack Qiu <jack.qiu@huawei.com>
---
 fs/f2fs/checkpoint.c   | 2 +-
 fs/f2fs/data.c         | 4 ++--
 fs/f2fs/extent_cache.c | 2 +-
 fs/f2fs/namei.c        | 2 +-
 fs/f2fs/node.c         | 2 +-
 5 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
index 236064930251..cbff5e2a6b18 100644
--- a/fs/f2fs/checkpoint.c
+++ b/fs/f2fs/checkpoint.c
@@ -1415,7 +1415,7 @@ static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
 				curseg_alloc_type(sbi, i + CURSEG_HOT_DATA);
 	}

-	/* 2 cp  + n data seg summary + orphan inode blocks */
+	/* 2 cp + n data seg summary + orphan inode blocks */
 	data_sum_blocks = f2fs_npages_for_summary_flush(sbi, false);
 	spin_lock_irqsave(&sbi->cp_lock, flags);
 	if (data_sum_blocks < NR_CURSEG_DATA_TYPE)
diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 326c63879ddc..b6d5cc2de5ba 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -86,7 +86,7 @@ static bool __is_cp_guaranteed(struct page *page)
 	sbi = F2FS_I_SB(inode);

 	if (inode->i_ino == F2FS_META_INO(sbi) ||
-			inode->i_ino ==  F2FS_NODE_INO(sbi) ||
+			inode->i_ino == F2FS_NODE_INO(sbi) ||
 			S_ISDIR(inode->i_mode) ||
 			(S_ISREG(inode->i_mode) &&
 			(f2fs_is_atomic_file(inode) || IS_NOQUOTA(inode))) ||
@@ -1145,7 +1145,7 @@ int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t index)

 int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index)
 {
-	struct extent_info ei  = {0,0,0};
+	struct extent_info ei = {0, 0, 0};
 	struct inode *inode = dn->inode;

 	if (f2fs_lookup_extent_cache(inode, index, &ei)) {
diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c
index e60078460ad1..f23cf0eaa0a1 100644
--- a/fs/f2fs/extent_cache.c
+++ b/fs/f2fs/extent_cache.c
@@ -365,7 +365,7 @@ static bool __f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_e

 bool f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_ext)
 {
-	bool ret =  __f2fs_init_extent_tree(inode, i_ext);
+	bool ret = __f2fs_init_extent_tree(inode, i_ext);

 	if (!F2FS_I(inode)->extent_tree)
 		set_inode_flag(inode, FI_NO_EXTENT);
diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index e94e02c6580a..664e220e0c80 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -600,7 +600,7 @@ static int f2fs_unlink(struct inode *dir, struct dentry *dentry)
 	/* VFS negative dentries are incompatible with Encoding and
 	 * Case-insensitiveness. Eventually we'll want avoid
 	 * invalidating the dentries here, alongside with returning the
-	 * negative dentries at f2fs_lookup(), when it is  better
+	 * negative dentries at f2fs_lookup(), when it is better
 	 * supported by the VFS for the CI case.
 	 */
 	if (IS_CASEFOLDED(dir))
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 03e24df1c84f..0bf5bd22d460 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -1726,7 +1726,7 @@ int f2fs_fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode,
 					set_dentry_mark(page,
 						f2fs_need_dentry_mark(sbi, ino));
 				}
-				/*  may be written by other thread */
+				/* may be written by other thread */
 				if (!PageDirty(page))
 					set_page_dirty(page);
 			}
--
2.17.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [f2fs-dev] [PATCH 2/2] f2fs: change spaces into tab
  2020-07-20 12:19 [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Jack Qiu
@ 2020-07-20 12:19 ` Jack Qiu
  2020-07-24  1:28 ` [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Chao Yu
  1 sibling, 0 replies; 4+ messages in thread
From: Jack Qiu @ 2020-07-20 12:19 UTC (permalink / raw)
  To: linux-f2fs-devel

Just for code style, no logic change

Signed-off-by: Jack Qiu <jack.qiu@huawei.com>
---
 fs/f2fs/f2fs.h  | 4 ++--
 fs/f2fs/namei.c | 6 +++---
 fs/f2fs/node.c  | 2 +-
 fs/f2fs/sysfs.c | 4 ++--
 fs/f2fs/xattr.c | 4 ++--
 5 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index b35a50f4953c..dfa28d3f83a5 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1438,7 +1438,7 @@ struct f2fs_sb_info {
 	unsigned long last_time[MAX_TIME];	/* to store time in jiffies */
 	long interval_time[MAX_TIME];		/* to store thresholds */

-	struct inode_management im[MAX_INO_ENTRY];      /* manage inode cache */
+	struct inode_management im[MAX_INO_ENTRY];	/* manage inode cache */

 	spinlock_t fsync_node_lock;		/* for node entry lock */
 	struct list_head fsync_node_list;	/* node list head */
@@ -1517,7 +1517,7 @@ struct f2fs_sb_info {
 	unsigned int gc_mode;			/* current GC state */
 	unsigned int next_victim_seg[2];	/* next segment in victim section */
 	/* for skip statistic */
-	unsigned int atomic_files;              /* # of opened atomic file */
+	unsigned int atomic_files;		/* # of opened atomic file */
 	unsigned long long skipped_atomic_files[2];	/* FG_GC and BG_GC */
 	unsigned long long skipped_gc_rwsem;		/* FG_GC only */

diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
index 664e220e0c80..63d2300d2391 100644
--- a/fs/f2fs/namei.c
+++ b/fs/f2fs/namei.c
@@ -1285,7 +1285,7 @@ static const char *f2fs_encrypted_get_link(struct dentry *dentry,
 }

 const struct inode_operations f2fs_encrypted_symlink_inode_operations = {
-	.get_link       = f2fs_encrypted_get_link,
+	.get_link	= f2fs_encrypted_get_link,
 	.getattr	= f2fs_getattr,
 	.setattr	= f2fs_setattr,
 	.listxattr	= f2fs_listxattr,
@@ -1311,7 +1311,7 @@ const struct inode_operations f2fs_dir_inode_operations = {
 };

 const struct inode_operations f2fs_symlink_inode_operations = {
-	.get_link       = f2fs_get_link,
+	.get_link	= f2fs_get_link,
 	.getattr	= f2fs_getattr,
 	.setattr	= f2fs_setattr,
 	.listxattr	= f2fs_listxattr,
@@ -1319,7 +1319,7 @@ const struct inode_operations f2fs_symlink_inode_operations = {

 const struct inode_operations f2fs_special_inode_operations = {
 	.getattr	= f2fs_getattr,
-	.setattr        = f2fs_setattr,
+	.setattr	= f2fs_setattr,
 	.get_acl	= f2fs_get_acl,
 	.set_acl	= f2fs_set_acl,
 	.listxattr	= f2fs_listxattr,
diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
index 0bf5bd22d460..3a6d5ba7e306 100644
--- a/fs/f2fs/node.c
+++ b/fs/f2fs/node.c
@@ -2097,7 +2097,7 @@ const struct address_space_operations f2fs_node_aops = {
 	.invalidatepage	= f2fs_invalidate_page,
 	.releasepage	= f2fs_release_page,
 #ifdef CONFIG_MIGRATION
-	.migratepage    = f2fs_migrate_page,
+	.migratepage	= f2fs_migrate_page,
 #endif
 };

diff --git a/fs/f2fs/sysfs.c b/fs/f2fs/sysfs.c
index e877c59b9fdb..0744633f0edc 100644
--- a/fs/f2fs/sysfs.c
+++ b/fs/f2fs/sysfs.c
@@ -27,7 +27,7 @@ enum {
 	NM_INFO,	/* struct f2fs_nm_info */
 	F2FS_SBI,	/* struct f2fs_sb_info */
 #ifdef CONFIG_F2FS_STAT_FS
-	STAT_INFO,      /* struct f2fs_stat_info */
+	STAT_INFO,	/* struct f2fs_stat_info */
 #endif
 #ifdef CONFIG_F2FS_FAULT_INJECTION
 	FAULT_INFO_RATE,	/* struct f2fs_fault_info */
@@ -706,7 +706,7 @@ static struct kobj_type f2fs_ktype = {
 };

 static struct kset f2fs_kset = {
-	.kobj   = {.ktype = &f2fs_ktype},
+	.kobj	= {.ktype = &f2fs_ktype},
 };

 static struct kobj_type f2fs_feat_ktype = {
diff --git a/fs/f2fs/xattr.c b/fs/f2fs/xattr.c
index 4f6582ef7ee3..1b0736ce0918 100644
--- a/fs/f2fs/xattr.c
+++ b/fs/f2fs/xattr.c
@@ -175,8 +175,8 @@ const struct xattr_handler f2fs_xattr_trusted_handler = {
 const struct xattr_handler f2fs_xattr_advise_handler = {
 	.name	= F2FS_SYSTEM_ADVISE_NAME,
 	.flags	= F2FS_XATTR_INDEX_ADVISE,
-	.get    = f2fs_xattr_advise_get,
-	.set    = f2fs_xattr_advise_set,
+	.get	= f2fs_xattr_advise_get,
+	.set	= f2fs_xattr_advise_set,
 };

 const struct xattr_handler f2fs_xattr_security_handler = {
--
2.17.1



_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [f2fs-dev] [PATCH 1/2] f2fs: delete useless space
  2020-07-20 12:19 [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Jack Qiu
  2020-07-20 12:19 ` [f2fs-dev] [PATCH 2/2] f2fs: change spaces into tab Jack Qiu
@ 2020-07-24  1:28 ` Chao Yu
  1 sibling, 0 replies; 4+ messages in thread
From: Chao Yu @ 2020-07-24  1:28 UTC (permalink / raw)
  To: Jack Qiu, linux-f2fs-devel

On 2020/7/20 20:19, Jack Qiu wrote:
> Just for code style, no logic change

I think space related cleanup could be done in one patch?

Could you please merge them?

Thanks,

> 
> Signed-off-by: Jack Qiu <jack.qiu@huawei.com>
> ---
>   fs/f2fs/checkpoint.c   | 2 +-
>   fs/f2fs/data.c         | 4 ++--
>   fs/f2fs/extent_cache.c | 2 +-
>   fs/f2fs/namei.c        | 2 +-
>   fs/f2fs/node.c         | 2 +-
>   5 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c
> index 236064930251..cbff5e2a6b18 100644
> --- a/fs/f2fs/checkpoint.c
> +++ b/fs/f2fs/checkpoint.c
> @@ -1415,7 +1415,7 @@ static int do_checkpoint(struct f2fs_sb_info *sbi, struct cp_control *cpc)
>   				curseg_alloc_type(sbi, i + CURSEG_HOT_DATA);
>   	}
> 
> -	/* 2 cp  + n data seg summary + orphan inode blocks */
> +	/* 2 cp + n data seg summary + orphan inode blocks */
>   	data_sum_blocks = f2fs_npages_for_summary_flush(sbi, false);
>   	spin_lock_irqsave(&sbi->cp_lock, flags);
>   	if (data_sum_blocks < NR_CURSEG_DATA_TYPE)
> diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
> index 326c63879ddc..b6d5cc2de5ba 100644
> --- a/fs/f2fs/data.c
> +++ b/fs/f2fs/data.c
> @@ -86,7 +86,7 @@ static bool __is_cp_guaranteed(struct page *page)
>   	sbi = F2FS_I_SB(inode);
> 
>   	if (inode->i_ino == F2FS_META_INO(sbi) ||
> -			inode->i_ino ==  F2FS_NODE_INO(sbi) ||
> +			inode->i_ino == F2FS_NODE_INO(sbi) ||
>   			S_ISDIR(inode->i_mode) ||
>   			(S_ISREG(inode->i_mode) &&
>   			(f2fs_is_atomic_file(inode) || IS_NOQUOTA(inode))) ||
> @@ -1145,7 +1145,7 @@ int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t index)
> 
>   int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index)
>   {
> -	struct extent_info ei  = {0,0,0};
> +	struct extent_info ei = {0, 0, 0};
>   	struct inode *inode = dn->inode;
> 
>   	if (f2fs_lookup_extent_cache(inode, index, &ei)) {
> diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c
> index e60078460ad1..f23cf0eaa0a1 100644
> --- a/fs/f2fs/extent_cache.c
> +++ b/fs/f2fs/extent_cache.c
> @@ -365,7 +365,7 @@ static bool __f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_e
> 
>   bool f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_ext)
>   {
> -	bool ret =  __f2fs_init_extent_tree(inode, i_ext);
> +	bool ret = __f2fs_init_extent_tree(inode, i_ext);
> 
>   	if (!F2FS_I(inode)->extent_tree)
>   		set_inode_flag(inode, FI_NO_EXTENT);
> diff --git a/fs/f2fs/namei.c b/fs/f2fs/namei.c
> index e94e02c6580a..664e220e0c80 100644
> --- a/fs/f2fs/namei.c
> +++ b/fs/f2fs/namei.c
> @@ -600,7 +600,7 @@ static int f2fs_unlink(struct inode *dir, struct dentry *dentry)
>   	/* VFS negative dentries are incompatible with Encoding and
>   	 * Case-insensitiveness. Eventually we'll want avoid
>   	 * invalidating the dentries here, alongside with returning the
> -	 * negative dentries at f2fs_lookup(), when it is  better
> +	 * negative dentries at f2fs_lookup(), when it is better
>   	 * supported by the VFS for the CI case.
>   	 */
>   	if (IS_CASEFOLDED(dir))
> diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c
> index 03e24df1c84f..0bf5bd22d460 100644
> --- a/fs/f2fs/node.c
> +++ b/fs/f2fs/node.c
> @@ -1726,7 +1726,7 @@ int f2fs_fsync_node_pages(struct f2fs_sb_info *sbi, struct inode *inode,
>   					set_dentry_mark(page,
>   						f2fs_need_dentry_mark(sbi, ino));
>   				}
> -				/*  may be written by other thread */
> +				/* may be written by other thread */
>   				if (!PageDirty(page))
>   					set_page_dirty(page);
>   			}
> --
> 2.17.1
> 
> 
> 
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> .
> 


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [f2fs-dev] [PATCH 1/2] f2fs: delete useless space
@ 2020-07-24  7:48 Qiujie (Jack)
  0 siblings, 0 replies; 4+ messages in thread
From: Qiujie (Jack) @ 2020-07-24  7:48 UTC (permalink / raw)
  To: Yuchao (T), linux-f2fs-devel

> On 2020/7/20 20:19, Jack Qiu wrote:
> > Just for code style, no logic change
> 
> I think space related cleanup could be done in one patch?
> 
> Could you please merge them?
> 
> Thanks,
> 

Thanks for review.
I will send a V2 patch after incorporating your comments.

> >
> > Signed-off-by: Jack Qiu <jack.qiu@huawei.com>
> > ---
> >   fs/f2fs/checkpoint.c   | 2 +-
> >   fs/f2fs/data.c         | 4 ++--
> >   fs/f2fs/extent_cache.c | 2 +-
> >   fs/f2fs/namei.c        | 2 +-
> >   fs/f2fs/node.c         | 2 +-
> >   5 files changed, 6 insertions(+), 6 deletions(-)
> >
> > diff --git a/fs/f2fs/checkpoint.c b/fs/f2fs/checkpoint.c index
> > 236064930251..cbff5e2a6b18 100644
> > --- a/fs/f2fs/checkpoint.c
> > +++ b/fs/f2fs/checkpoint.c
> > @@ -1415,7 +1415,7 @@ static int do_checkpoint(struct f2fs_sb_info *sbi,
> struct cp_control *cpc)
> >   				curseg_alloc_type(sbi, i + CURSEG_HOT_DATA);
> >   	}
> >
> > -	/* 2 cp  + n data seg summary + orphan inode blocks */
> > +	/* 2 cp + n data seg summary + orphan inode blocks */
> >   	data_sum_blocks = f2fs_npages_for_summary_flush(sbi, false);
> >   	spin_lock_irqsave(&sbi->cp_lock, flags);
> >   	if (data_sum_blocks < NR_CURSEG_DATA_TYPE) diff --git
> > a/fs/f2fs/data.c b/fs/f2fs/data.c index 326c63879ddc..b6d5cc2de5ba
> > 100644
> > --- a/fs/f2fs/data.c
> > +++ b/fs/f2fs/data.c
> > @@ -86,7 +86,7 @@ static bool __is_cp_guaranteed(struct page *page)
> >   	sbi = F2FS_I_SB(inode);
> >
> >   	if (inode->i_ino == F2FS_META_INO(sbi) ||
> > -			inode->i_ino ==  F2FS_NODE_INO(sbi) ||
> > +			inode->i_ino == F2FS_NODE_INO(sbi) ||
> >   			S_ISDIR(inode->i_mode) ||
> >   			(S_ISREG(inode->i_mode) &&
> >   			(f2fs_is_atomic_file(inode) || IS_NOQUOTA(inode))) || @@
> -1145,7
> > +1145,7 @@ int f2fs_reserve_block(struct dnode_of_data *dn, pgoff_t
> > index)
> >
> >   int f2fs_get_block(struct dnode_of_data *dn, pgoff_t index)
> >   {
> > -	struct extent_info ei  = {0,0,0};
> > +	struct extent_info ei = {0, 0, 0};
> >   	struct inode *inode = dn->inode;
> >
> >   	if (f2fs_lookup_extent_cache(inode, index, &ei)) { diff --git
> > a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c index
> > e60078460ad1..f23cf0eaa0a1 100644
> > --- a/fs/f2fs/extent_cache.c
> > +++ b/fs/f2fs/extent_cache.c
> > @@ -365,7 +365,7 @@ static bool __f2fs_init_extent_tree(struct inode
> > *inode, struct f2fs_extent *i_e
> >
> >   bool f2fs_init_extent_tree(struct inode *inode, struct f2fs_extent *i_ext)
> >   {
> > -	bool ret =  __f2fs_init_extent_tree(inode, i_ext);
> > +	bool ret = __f2fs_init_extent_tree(inode, i_ext);
> >
> >   	if (!F2FS_I(inode)->extent_tree)
> >   		set_inode_flag(inode, FI_NO_EXTENT); diff --git
> a/fs/f2fs/namei.c
> > b/fs/f2fs/namei.c index e94e02c6580a..664e220e0c80 100644
> > --- a/fs/f2fs/namei.c
> > +++ b/fs/f2fs/namei.c
> > @@ -600,7 +600,7 @@ static int f2fs_unlink(struct inode *dir, struct dentry
> *dentry)
> >   	/* VFS negative dentries are incompatible with Encoding and
> >   	 * Case-insensitiveness. Eventually we'll want avoid
> >   	 * invalidating the dentries here, alongside with returning the
> > -	 * negative dentries at f2fs_lookup(), when it is  better
> > +	 * negative dentries at f2fs_lookup(), when it is better
> >   	 * supported by the VFS for the CI case.
> >   	 */
> >   	if (IS_CASEFOLDED(dir))
> > diff --git a/fs/f2fs/node.c b/fs/f2fs/node.c index
> > 03e24df1c84f..0bf5bd22d460 100644
> > --- a/fs/f2fs/node.c
> > +++ b/fs/f2fs/node.c
> > @@ -1726,7 +1726,7 @@ int f2fs_fsync_node_pages(struct f2fs_sb_info
> *sbi, struct inode *inode,
> >   					set_dentry_mark(page,
> >   						f2fs_need_dentry_mark(sbi, ino));
> >   				}
> > -				/*  may be written by other thread */
> > +				/* may be written by other thread */
> >   				if (!PageDirty(page))
> >   					set_page_dirty(page);
> >   			}
> > --
> > 2.17.1
> >
> >
> >
> > _______________________________________________
> > Linux-f2fs-devel mailing list
> > Linux-f2fs-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> > .
> >


_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-07-24  7:49 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-07-20 12:19 [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Jack Qiu
2020-07-20 12:19 ` [f2fs-dev] [PATCH 2/2] f2fs: change spaces into tab Jack Qiu
2020-07-24  1:28 ` [f2fs-dev] [PATCH 1/2] f2fs: delete useless space Chao Yu
2020-07-24  7:48 Qiujie (Jack)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).