linux-ntfs-dev Mailing List for Linux NTFS file system support (Page 2)
Development moved to https://sourceforge.net/projects/ntfs-3g/
Brought to you by:
antona,
cha0smaster
You can subscribe to this list here.
2001 |
Jan
(1) |
Feb
(1) |
Mar
(23) |
Apr
(1) |
May
(16) |
Jun
(5) |
Jul
(23) |
Aug
(29) |
Sep
(16) |
Oct
(4) |
Nov
(12) |
Dec
(9) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(8) |
Feb
(4) |
Mar
(20) |
Apr
(25) |
May
(19) |
Jun
(6) |
Jul
(43) |
Aug
(22) |
Sep
(7) |
Oct
(17) |
Nov
(26) |
Dec
(54) |
2003 |
Jan
(50) |
Feb
(51) |
Mar
(93) |
Apr
(105) |
May
(46) |
Jun
(62) |
Jul
(71) |
Aug
(28) |
Sep
(25) |
Oct
(28) |
Nov
(41) |
Dec
(17) |
2004 |
Jan
(39) |
Feb
(94) |
Mar
(139) |
Apr
(46) |
May
(103) |
Jun
(23) |
Jul
(74) |
Aug
(42) |
Sep
(127) |
Oct
(122) |
Nov
(80) |
Dec
(43) |
2005 |
Jan
(66) |
Feb
(35) |
Mar
(21) |
Apr
(42) |
May
(57) |
Jun
(136) |
Jul
(239) |
Aug
(255) |
Sep
(221) |
Oct
(295) |
Nov
(250) |
Dec
(66) |
2006 |
Jan
(116) |
Feb
(142) |
Mar
(66) |
Apr
(61) |
May
(56) |
Jun
(47) |
Jul
(82) |
Aug
(202) |
Sep
(106) |
Oct
(85) |
Nov
(130) |
Dec
(58) |
2007 |
Jan
(122) |
Feb
(7) |
Mar
(27) |
Apr
(19) |
May
(23) |
Jun
(17) |
Jul
(18) |
Aug
(19) |
Sep
(38) |
Oct
(39) |
Nov
(17) |
Dec
(6) |
2008 |
Jan
(8) |
Feb
(10) |
Mar
(6) |
Apr
(2) |
May
(29) |
Jun
(2) |
Jul
(16) |
Aug
(4) |
Sep
(7) |
Oct
(3) |
Nov
(6) |
Dec
(10) |
2009 |
Jan
(4) |
Feb
(4) |
Mar
(4) |
Apr
(12) |
May
(5) |
Jun
(8) |
Jul
(5) |
Aug
(17) |
Sep
(4) |
Oct
(7) |
Nov
(10) |
Dec
(18) |
2010 |
Jan
(7) |
Feb
(3) |
Mar
(6) |
Apr
(7) |
May
(3) |
Jun
(4) |
Jul
(2) |
Aug
(4) |
Sep
(12) |
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
(11) |
Feb
(5) |
Mar
(6) |
Apr
(9) |
May
|
Jun
(6) |
Jul
(14) |
Aug
(12) |
Sep
(1) |
Oct
(1) |
Nov
(1) |
Dec
(4) |
2012 |
Jan
(3) |
Feb
(5) |
Mar
(6) |
Apr
(9) |
May
(4) |
Jun
(8) |
Jul
(19) |
Aug
(12) |
Sep
(1) |
Oct
(3) |
Nov
(2) |
Dec
(2) |
2013 |
Jan
(2) |
Feb
(2) |
Mar
(3) |
Apr
(4) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
(4) |
2014 |
Jan
|
Feb
(2) |
Mar
(7) |
Apr
(2) |
May
(11) |
Jun
(27) |
Jul
(5) |
Aug
|
Sep
(1) |
Oct
(3) |
Nov
(9) |
Dec
|
2015 |
Jan
(3) |
Feb
|
Mar
(3) |
Apr
(2) |
May
(1) |
Jun
(1) |
Jul
(6) |
Aug
(1) |
Sep
(5) |
Oct
|
Nov
|
Dec
(5) |
2016 |
Jan
|
Feb
|
Mar
(3) |
Apr
(25) |
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(9) |
Dec
(32) |
2017 |
Jan
(44) |
Feb
(22) |
Mar
(12) |
Apr
|
May
(3) |
Jun
(9) |
Jul
(12) |
Aug
(3) |
Sep
|
Oct
(1) |
Nov
|
Dec
(5) |
2018 |
Jan
(5) |
Feb
(11) |
Mar
(3) |
Apr
(6) |
May
(3) |
Jun
(7) |
Jul
(5) |
Aug
|
Sep
|
Oct
(7) |
Nov
(2) |
Dec
|
2019 |
Jan
|
Feb
(1) |
Mar
|
Apr
(20) |
May
(1) |
Jun
(5) |
Jul
(10) |
Aug
(27) |
Sep
(2) |
Oct
|
Nov
(2) |
Dec
|
2020 |
Jan
(9) |
Feb
(8) |
Mar
(5) |
Apr
(20) |
May
(9) |
Jun
(8) |
Jul
(6) |
Aug
(6) |
Sep
(6) |
Oct
(151) |
Nov
(37) |
Dec
(59) |
2021 |
Jan
(46) |
Feb
(41) |
Mar
(55) |
Apr
(18) |
May
(33) |
Jun
(8) |
Jul
(28) |
Aug
(81) |
Sep
(9) |
Oct
(195) |
Nov
(48) |
Dec
(10) |
2022 |
Jan
(7) |
Feb
(1) |
Mar
(9) |
Apr
(8) |
May
(4) |
Jun
(102) |
Jul
(26) |
Aug
(52) |
Sep
(6) |
Oct
(27) |
Nov
(4) |
Dec
(22) |
2023 |
Jan
(9) |
Feb
(7) |
Mar
(19) |
Apr
(4) |
May
(30) |
Jun
(30) |
Jul
(27) |
Aug
(35) |
Sep
(78) |
Oct
(42) |
Nov
(20) |
Dec
(7) |
2024 |
Jan
(36) |
Feb
(8) |
Mar
(12) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Shrikanth H. <ss...@li...> - 2024-01-22 17:49:47
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif In the ntfs code, one such pattern was seen. Hence remove that duplicate ifdef. No functional change is intended here. It only aims to improve code readability. Signed-off-by: Shrikanth Hegde <ss...@li...> --- fs/ntfs/inode.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index aba1e22db4e9..d2c8622d53d1 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -2859,11 +2859,9 @@ int ntfs_truncate(struct inode *vi) * * See ntfs_truncate() description above for details. */ -#ifdef NTFS_RW void ntfs_truncate_vfs(struct inode *vi) { ntfs_truncate(vi); } -#endif /** * ntfs_setattr - called from notify_change() when an attribute is being changed -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-22 17:49:46
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif In the xfs code two such patterns were seen. Hence removing these ifdefs. No functional change is intended here. It only aims to improve code readability. Reviewed-by: Darrick J. Wong <dj...@ke...> Signed-off-by: Shrikanth Hegde <ss...@li...> --- fs/xfs/xfs_sysfs.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index 17485666b672..d2391eec37fe 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -193,7 +193,6 @@ always_cow_show( } XFS_SYSFS_ATTR_RW(always_cow); -#ifdef DEBUG /* * Override how many threads the parallel work queue is allowed to create. * This has to be a debug-only global (instead of an errortag) because one of @@ -260,7 +259,6 @@ larp_show( return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp); } XFS_SYSFS_ATTR_RW(larp); -#endif /* DEBUG */ STATIC ssize_t bload_leaf_slack_store( @@ -319,10 +317,8 @@ static struct attribute *xfs_dbg_attrs[] = { ATTR_LIST(log_recovery_delay), ATTR_LIST(mount_delay), ATTR_LIST(always_cow), -#ifdef DEBUG ATTR_LIST(pwork_threads), ATTR_LIST(larp), -#endif ATTR_LIST(bload_leaf_slack), ATTR_LIST(bload_node_slack), NULL, -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-22 17:49:39
|
When going through the code observed a case in scheduler, where #ifdef CONFIG_SMP was used to inside an #ifdef CONFIG_SMP. That didn't make sense since first one is good enough and second one is a duplicate. This could improve code readability. No functional change is intended. Since this might be present in other code areas wrote a very basic python script which helps in finding these cases. It doesn't handle any complicated #defines or space separated "# if". At some places the log collected had to be manually corrected due to space separated ifdefs. Thats why its not a treewide change. There might be an opportunity for other files as well. Logic is very simple. If there is #ifdef or #if or #ifndef add that variable to list. Upon every subsequent #ifdef or #if or #ifndef check if the same variable is in the list. If yes flag an error. Verification was done manually later checking for any #undef or any error due to script. These were the ones that flagged out and made sense after going through code. More details about how the logs were collected and the script used for processing the logs are mentioned in v1 cover letter. v2->v1: split the fs change into two patches as suggested by Chandan Babu R. v1: https://lore.kernel.org/all/202...@li.../ Shrikanth Hegde (4): sched: remove duplicate ifdefs xfs: remove duplicate ifdefs ntfs: remove duplicate ifdefs arch/powerpc: remove duplicate ifdefs arch/powerpc/include/asm/paca.h | 4 ---- arch/powerpc/kernel/asm-offsets.c | 2 -- arch/powerpc/platforms/powermac/feature.c | 2 -- arch/powerpc/xmon/xmon.c | 2 -- fs/ntfs/inode.c | 2 -- fs/xfs/xfs_sysfs.c | 4 ---- kernel/sched/core.c | 4 +--- kernel/sched/fair.c | 2 -- 8 files changed, 1 insertion(+), 21 deletions(-) -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-22 17:49:39
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif In the scheduler code, there are two places where above pattern can be observed. Hence second ifdef is a duplicate and not needed. Plus a minor comment update to reflect the else case. No functional change is intended here. It only aims to improve code readability. Signed-off-by: Shrikanth Hegde <ss...@li...> --- kernel/sched/core.c | 4 +--- kernel/sched/fair.c | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 9116bcc90346..a76c7095f736 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1792,7 +1792,6 @@ static void cpu_util_update_eff(struct cgroup_subsys_state *css); #endif #ifdef CONFIG_SYSCTL -#ifdef CONFIG_UCLAMP_TASK #ifdef CONFIG_UCLAMP_TASK_GROUP static void uclamp_update_root_tg(void) { @@ -1898,7 +1897,6 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write, return result; } #endif -#endif static int uclamp_validate(struct task_struct *p, const struct sched_attr *attr) @@ -2065,7 +2063,7 @@ static void __init init_uclamp(void) } } -#else /* CONFIG_UCLAMP_TASK */ +#else /* !CONFIG_UCLAMP_TASK */ static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) { } static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { } static inline int uclamp_validate(struct task_struct *p, diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index 533547e3c90a..8e30e2bb77a0 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10182,10 +10182,8 @@ static int idle_cpu_without(int cpu, struct task_struct *p) * be computed and tested before calling idle_cpu_without(). */ -#ifdef CONFIG_SMP if (rq->ttwu_pending) return 0; -#endif return 1; } -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-22 14:38:11
|
On 1/22/24 6:20 PM, Chandan Babu R wrote: > On Thu, Jan 18, 2024 at 01:33:25 PM +0530, Shrikanth Hegde wrote: >> when a ifdef is used in the below manner, second one could be considered as >> duplicate. >> >> ifdef DEFINE_A >> ...code block... >> ifdef DEFINE_A >> ...code block... >> endif >> ...code block... >> endif >> >> There are few places in fs code where above pattern was seen. >> No functional change is intended here. It only aims to improve code >> readability. >> > > Can you please post the xfs changes as a separate patch along with Darrick's > RVB tag? This will make it easy for me to apply the resulting patch to the XFS > tree. Ok. will split the fs patches into two and send v2 soon. Thanks. > |
From: Chandan B. R <cha...@ke...> - 2024-01-22 12:52:13
|
On Thu, Jan 18, 2024 at 01:33:25 PM +0530, Shrikanth Hegde wrote: > when a ifdef is used in the below manner, second one could be considered as > duplicate. > > ifdef DEFINE_A > ...code block... > ifdef DEFINE_A > ...code block... > endif > ...code block... > endif > > There are few places in fs code where above pattern was seen. > No functional change is intended here. It only aims to improve code > readability. > Can you please post the xfs changes as a separate patch along with Darrick's RVB tag? This will make it easy for me to apply the resulting patch to the XFS tree. -- Chandan |
From: Darrick J. W. <dj...@ke...> - 2024-01-19 01:36:12
|
On Thu, Jan 18, 2024 at 01:33:25PM +0530, Shrikanth Hegde wrote: > when a ifdef is used in the below manner, second one could be considered as > duplicate. > > ifdef DEFINE_A > ...code block... > ifdef DEFINE_A > ...code block... > endif > ...code block... > endif > > There are few places in fs code where above pattern was seen. > No functional change is intended here. It only aims to improve code > readability. > > Signed-off-by: Shrikanth Hegde <ss...@li...> > --- > fs/ntfs/inode.c | 2 -- > fs/xfs/xfs_sysfs.c | 4 ---- > 2 files changed, 6 deletions(-) > > diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c > index aba1e22db4e9..d2c8622d53d1 100644 > --- a/fs/ntfs/inode.c > +++ b/fs/ntfs/inode.c > @@ -2859,11 +2859,9 @@ int ntfs_truncate(struct inode *vi) > * > * See ntfs_truncate() description above for details. > */ > -#ifdef NTFS_RW > void ntfs_truncate_vfs(struct inode *vi) { > ntfs_truncate(vi); > } > -#endif > > /** > * ntfs_setattr - called from notify_change() when an attribute is being changed > diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c > index 17485666b672..d2391eec37fe 100644 > --- a/fs/xfs/xfs_sysfs.c > +++ b/fs/xfs/xfs_sysfs.c > @@ -193,7 +193,6 @@ always_cow_show( > } > XFS_SYSFS_ATTR_RW(always_cow); > > -#ifdef DEBUG > /* > * Override how many threads the parallel work queue is allowed to create. > * This has to be a debug-only global (instead of an errortag) because one of > @@ -260,7 +259,6 @@ larp_show( > return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp); > } > XFS_SYSFS_ATTR_RW(larp); > -#endif /* DEBUG */ > > STATIC ssize_t > bload_leaf_slack_store( > @@ -319,10 +317,8 @@ static struct attribute *xfs_dbg_attrs[] = { > ATTR_LIST(log_recovery_delay), > ATTR_LIST(mount_delay), > ATTR_LIST(always_cow), > -#ifdef DEBUG > ATTR_LIST(pwork_threads), > ATTR_LIST(larp), > -#endif The xfs part seems fine to me bcause I think some bot already complained about this... Reviewed-by: Darrick J. Wong <dj...@ke...> --D > ATTR_LIST(bload_leaf_slack), > ATTR_LIST(bload_node_slack), > NULL, > -- > 2.39.3 > > |
From: Shrikanth H. <ss...@li...> - 2024-01-18 09:06:23
|
When going through the code observed a case in scheduler, where #ifdef CONFIG_SMP was used to inside an #ifdef CONFIG_SMP. That didn't make sense since first one is good enough and second one is a duplicate. This could improve code readability. No functional change is intended. Maybe this is not an issue these days as language servers can parse the config and users can read the code without bothering about whats true and whats not. Does this change makes sense? Since this might be present in other code areas wrote a very basic python script which helps in finding these cases. It doesn't handle any complicated #defines or space separated "# if". At some places the log collected had to be manually corrected due to space separated ifdefs. Thats why its not a treewide change. There might be an opportunity for other files as well. Logic is very simple. If there is #ifdef or #if or #ifndef add that variable to list. Upon every subsequent #ifdef or #if or #ifndef check if the same variable is in the list. If yes flag an error. Verification was done manually later checking for any #undef or any error due to script. These were the ones that flagged out and made sense after going through code. ifdefs were collected using grep in below way and that file was used as the input to the script. grep -rIwn --include="*.c*" --include="*.h" -e "#if" -e "#ifndef" -e "#ifdef" -e "#else" -e "#endif" * > /tmp/input.txt --------------------------------------------------------------------- script used: --------------------------------------------------------------------- import os import argparse def parse_args(): parser = argparse.ArgumentParser() parser.add_argument("--file", help="file to input to script", type=str) parser.add_argument("--verbose", help="Print additional debugging info, 0 to disable ", type=int) args = parser.parse_args() return args def parseFiles(args): file_to_parse = open(args.file, "r") lines = file_to_parse.readlines() check_length = len(lines) ifdefs_list = [] i=0 while i < check_length: line = lines[i] last_word = line.strip().split(":")[2] last_word = last_word.split("/")[0] if (args.verbose): print(line) last_word_splits = last_word.split() if (args.verbose): print(last_word_splits) if last_word_splits[0] == "#ifdef" or last_word_splits[0] == "#ifndef" or last_word_splits[0] == "#if": if last_word_splits[1] in ifdefs_list: print("This is duplicate and may be fixed: %s, parent_list:\n" % (line)) print(ifdefs_list) ifdefs_list.append(last_word_splits[1]) if last_word_splits[0] == "#endif"": ifdefs_list.pop() i=i+1 if __name__ == "__main__": args = parse_args() parseFiles(args) ------------------------------------------------------------------------- Shrikanth Hegde (3): sched: remove duplicate ifdefs fs: remove depulicate ifdefs arch/powerpc: remove duplicate ifdefs arch/powerpc/include/asm/paca.h | 4 ---- arch/powerpc/kernel/asm-offsets.c | 2 -- arch/powerpc/platforms/powermac/feature.c | 2 -- arch/powerpc/xmon/xmon.c | 2 -- fs/ntfs/inode.c | 2 -- fs/xfs/xfs_sysfs.c | 4 ---- kernel/sched/core.c | 4 +--- kernel/sched/fair.c | 2 -- 8 files changed, 1 insertion(+), 21 deletions(-) -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-18 08:53:34
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif There are few places in fs code where above pattern was seen. No functional change is intended here. It only aims to improve code readability. Signed-off-by: Shrikanth Hegde <ss...@li...> --- fs/ntfs/inode.c | 2 -- fs/xfs/xfs_sysfs.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/fs/ntfs/inode.c b/fs/ntfs/inode.c index aba1e22db4e9..d2c8622d53d1 100644 --- a/fs/ntfs/inode.c +++ b/fs/ntfs/inode.c @@ -2859,11 +2859,9 @@ int ntfs_truncate(struct inode *vi) * * See ntfs_truncate() description above for details. */ -#ifdef NTFS_RW void ntfs_truncate_vfs(struct inode *vi) { ntfs_truncate(vi); } -#endif /** * ntfs_setattr - called from notify_change() when an attribute is being changed diff --git a/fs/xfs/xfs_sysfs.c b/fs/xfs/xfs_sysfs.c index 17485666b672..d2391eec37fe 100644 --- a/fs/xfs/xfs_sysfs.c +++ b/fs/xfs/xfs_sysfs.c @@ -193,7 +193,6 @@ always_cow_show( } XFS_SYSFS_ATTR_RW(always_cow); -#ifdef DEBUG /* * Override how many threads the parallel work queue is allowed to create. * This has to be a debug-only global (instead of an errortag) because one of @@ -260,7 +259,6 @@ larp_show( return snprintf(buf, PAGE_SIZE, "%d\n", xfs_globals.larp); } XFS_SYSFS_ATTR_RW(larp); -#endif /* DEBUG */ STATIC ssize_t bload_leaf_slack_store( @@ -319,10 +317,8 @@ static struct attribute *xfs_dbg_attrs[] = { ATTR_LIST(log_recovery_delay), ATTR_LIST(mount_delay), ATTR_LIST(always_cow), -#ifdef DEBUG ATTR_LIST(pwork_threads), ATTR_LIST(larp), -#endif ATTR_LIST(bload_leaf_slack), ATTR_LIST(bload_node_slack), NULL, -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-18 08:50:23
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif In the scheduler code, there are two places where above pattern can be observed. Hence second ifdef is a duplicate and not needed. Plus a minor comment update to reflect the else case. No functional change is intended here. It only aims to improve code readability. Signed-off-by: Shrikanth Hegde <ss...@li...> --- kernel/sched/core.c | 4 +--- kernel/sched/fair.c | 2 -- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 038eeaf76d2d..1bfb186fd67f 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -1792,7 +1792,6 @@ static void cpu_util_update_eff(struct cgroup_subsys_state *css); #endif #ifdef CONFIG_SYSCTL -#ifdef CONFIG_UCLAMP_TASK #ifdef CONFIG_UCLAMP_TASK_GROUP static void uclamp_update_root_tg(void) { @@ -1898,7 +1897,6 @@ static int sysctl_sched_uclamp_handler(struct ctl_table *table, int write, return result; } #endif -#endif static int uclamp_validate(struct task_struct *p, const struct sched_attr *attr) @@ -2065,7 +2063,7 @@ static void __init init_uclamp(void) } } -#else /* CONFIG_UCLAMP_TASK */ +#else /* !CONFIG_UCLAMP_TASK */ static inline void uclamp_rq_inc(struct rq *rq, struct task_struct *p) { } static inline void uclamp_rq_dec(struct rq *rq, struct task_struct *p) { } static inline int uclamp_validate(struct task_struct *p, diff --git a/kernel/sched/fair.c b/kernel/sched/fair.c index f2bb83675e4a..6158a6752c25 100644 --- a/kernel/sched/fair.c +++ b/kernel/sched/fair.c @@ -10166,10 +10166,8 @@ static int idle_cpu_without(int cpu, struct task_struct *p) * be computed and tested before calling idle_cpu_without(). */ -#ifdef CONFIG_SMP if (rq->ttwu_pending) return 0; -#endif return 1; } -- 2.39.3 |
From: Shrikanth H. <ss...@li...> - 2024-01-18 08:46:06
|
when a ifdef is used in the below manner, second one could be considered as duplicate. ifdef DEFINE_A ...code block... ifdef DEFINE_A ...code block... endif ...code block... endif few places in arch/powerpc where this pattern was seen. In addition to that in paca.h, CONFIG_PPC_BOOK3S_64 was defined back to back. merged the two ifdefs. No functional change is intended here. It only aims to improve code readability. Signed-off-by: Shrikanth Hegde <ss...@li...> --- arch/powerpc/include/asm/paca.h | 4 ---- arch/powerpc/kernel/asm-offsets.c | 2 -- arch/powerpc/platforms/powermac/feature.c | 2 -- arch/powerpc/xmon/xmon.c | 2 -- 4 files changed, 10 deletions(-) diff --git a/arch/powerpc/include/asm/paca.h b/arch/powerpc/include/asm/paca.h index e667d455ecb4..1d58da946739 100644 --- a/arch/powerpc/include/asm/paca.h +++ b/arch/powerpc/include/asm/paca.h @@ -163,9 +163,7 @@ struct paca_struct { u64 kstack; /* Saved Kernel stack addr */ u64 saved_r1; /* r1 save for RTAS calls or PM or EE=0 */ u64 saved_msr; /* MSR saved here by enter_rtas */ -#ifdef CONFIG_PPC64 u64 exit_save_r1; /* Syscall/interrupt R1 save */ -#endif #ifdef CONFIG_PPC_BOOK3E_64 u16 trap_save; /* Used when bad stack is encountered */ #endif @@ -214,8 +212,6 @@ struct paca_struct { /* Non-maskable exceptions that are not performance critical */ u64 exnmi[EX_SIZE]; /* used for system reset (nmi) */ u64 exmc[EX_SIZE]; /* used for machine checks */ -#endif -#ifdef CONFIG_PPC_BOOK3S_64 /* Exclusive stacks for system reset and machine check exception. */ void *nmi_emergency_sp; void *mc_emergency_sp; diff --git a/arch/powerpc/kernel/asm-offsets.c b/arch/powerpc/kernel/asm-offsets.c index 9f14d95b8b32..f029755f9e69 100644 --- a/arch/powerpc/kernel/asm-offsets.c +++ b/arch/powerpc/kernel/asm-offsets.c @@ -246,9 +246,7 @@ int main(void) OFFSET(PACAHWCPUID, paca_struct, hw_cpu_id); OFFSET(PACAKEXECSTATE, paca_struct, kexec_state); OFFSET(PACA_DSCR_DEFAULT, paca_struct, dscr_default); -#ifdef CONFIG_PPC64 OFFSET(PACA_EXIT_SAVE_R1, paca_struct, exit_save_r1); -#endif #ifdef CONFIG_PPC_BOOK3E_64 OFFSET(PACA_TRAP_SAVE, paca_struct, trap_save); #endif diff --git a/arch/powerpc/platforms/powermac/feature.c b/arch/powerpc/platforms/powermac/feature.c index 81c9fbae88b1..2cc257f75c50 100644 --- a/arch/powerpc/platforms/powermac/feature.c +++ b/arch/powerpc/platforms/powermac/feature.c @@ -2333,7 +2333,6 @@ static struct pmac_mb_def pmac_mb_defs[] = { PMAC_TYPE_POWERMAC_G5, g5_features, 0, }, -#ifdef CONFIG_PPC64 { "PowerMac7,3", "PowerMac G5", PMAC_TYPE_POWERMAC_G5, g5_features, 0, @@ -2359,7 +2358,6 @@ static struct pmac_mb_def pmac_mb_defs[] = { 0, }, #endif /* CONFIG_PPC64 */ -#endif /* CONFIG_PPC64 */ }; /* diff --git a/arch/powerpc/xmon/xmon.c b/arch/powerpc/xmon/xmon.c index b3b94cd37713..f413c220165c 100644 --- a/arch/powerpc/xmon/xmon.c +++ b/arch/powerpc/xmon/xmon.c @@ -643,10 +643,8 @@ static int xmon_core(struct pt_regs *regs, volatile int fromipi) touch_nmi_watchdog(); } else { cmd = 1; -#ifdef CONFIG_SMP if (xmon_batch) cmd = batch_cmds(regs); -#endif if (!locked_down && cmd) cmd = cmds(regs); if (locked_down || cmd != 0) { -- 2.39.3 |
From: Anton A. <an...@tu...> - 2024-01-16 15:05:37
|
Hi, > On 16 Jan 2024, at 11:06, Christian Brauner <br...@ke...> wrote: > On Tue, Jan 16, 2024 at 09:51:47AM +0000, Anton Altaparmakov wrote: >> It seems there is consensus to remove it so please add: > > Well, we'll try. This is one of those cases where we might end up not > being able to do it. If that happens, I am happy to update the APIs as Matthew detailed but obviously I do not want to waste my time doing that if it will be removed anyway... Best regards, Anton > But imho this is a case where there's sufficient > reason to at least try and remove this code precisely because we have an > alternative implementation that's been around for a while. > > IOW, this isn't like reiserfs where we're actually getting rid of a > filesystem completely. -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Anton A. <an...@tu...> - 2024-01-16 11:32:14
|
Hi, On 16 Jan 2024, at 11:06, Christian Brauner <br...@ke...> wrote: On Tue, Jan 16, 2024 at 09:51:47AM +0000, Anton Altaparmakov wrote: It seems there is consensus to remove it so please add: Well, we'll try. This is one of those cases where we might end up not being able to do it. If that happens, I am happy to update the APIs as Matthew detailed but obviously I do not want to waste my time doing that if it will be removed anyway... Best regards, Anton But imho this is a case where there's sufficient reason to at least try and remove this code precisely because we have an alternative implementation that's been around for a while. IOW, this isn't like reiserfs where we're actually getting rid of a filesystem completely. -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Anton A. <an...@tu...> - 2024-01-16 11:22:39
|
Hi, It seems there is consensus to remove it so please add: Acked-by: Anton Altaparmakov <an...@tu...<mailto:an...@tu...>> Best regards, Anton On 16 Jan 2024, at 09:33, Christian Brauner <br...@ke...> wrote: On Mon, 15 Jan 2024 07:20:25 +0000, Matthew Wilcox (Oracle) wrote: The replacement, NTFS3, was merged over two years ago. It is now time to remove the original from the tree as it is the last user of several APIs, and it is not worth changing. I see no reason to not at least try and remove it given that we have ntfs3 as a replacement. Worst case is we have to put it back in. Let's try it. --- Applied to the vfs.fs branch of the vfs/vfs.git tree. Patches in the vfs.fs branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.fs [1/1] fs: Remove NTFS classic https://git.kernel.org/vfs/vfs/c/9c67092ed339 -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Christian B. <br...@ke...> - 2024-01-16 11:06:27
|
On Tue, Jan 16, 2024 at 09:51:47AM +0000, Anton Altaparmakov wrote: > Hi, > > It seems there is consensus to remove it so please add: Well, we'll try. This is one of those cases where we might end up not being able to do it. But imho this is a case where there's sufficient reason to at least try and remove this code precisely because we have an alternative implementation that's been around for a while. IOW, this isn't like reiserfs where we're actually getting rid of a filesystem completely. |
From: Anton A. <an...@tu...> - 2024-01-16 10:07:00
|
Hi, It seems there is consensus to remove it so please add: Acked-by: Anton Altaparmakov <an...@tu...> Best regards, Anton > On 16 Jan 2024, at 09:33, Christian Brauner <br...@ke...> wrote: > > On Mon, 15 Jan 2024 07:20:25 +0000, Matthew Wilcox (Oracle) wrote: >> The replacement, NTFS3, was merged over two years ago. It is now time to >> remove the original from the tree as it is the last user of several APIs, >> and it is not worth changing. >> >> > > I see no reason to not at least try and remove it given that we have > ntfs3 as a replacement. Worst case is we have to put it back in. Let's > try it. > > --- > > Applied to the vfs.fs branch of the vfs/vfs.git tree. > Patches in the vfs.fs branch should appear in linux-next soon. > > Please report any outstanding bugs that were missed during review in a > new review to the original patch series allowing us to drop it. > > It's encouraged to provide Acked-bys and Reviewed-bys even though the > patch has now been applied. If possible patch trailers will be updated. > > Note that commit hashes shown below are subject to change due to rebase, > trailer updates or similar. If in doubt, please check the listed branch. > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git > branch: vfs.fs > > [1/1] fs: Remove NTFS classic > https://git.kernel.org/vfs/vfs/c/9c67092ed339 -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Anton A. <an...@tu...> - 2024-01-16 09:52:30
|
Hi Matthew, > On 15 Jan 2024, at 14:49, Matthew Wilcox <wi...@in...> wrote: > On Mon, Jan 15, 2024 at 11:00:35AM +0000, Anton Altaparmakov wrote: >> Hi Matthew, >> >> On 15/01/2024 07:20, Matthew Wilcox (Oracle) wrote: >>> The replacement, NTFS3, was merged over two years ago. It is now time to >>> remove the original from the tree as it is the last user of several APIs, >>> and it is not worth changing. >> >> It was my impression that people are complaining ntfs3 is causing a whole >> lot of problems including corrupting people's data. Also, it appears the >> maintainer has basically disappeared after it got merged. > > I'm not terribly happy with how the maintainer behaves either, but > you've also been missing in action for nine years (if we're counting > code authored by you) or two years (if a R-b is enough). > > According to your documentation, you don't support creating new files > or directories, so I'd suggest that your code has never been put through > the xfstests wringer in the way that ntfs3 has. > >> Also, which APIs are you referring to? I can take a look into those. > > The biggest one for me is the folio work. Everywhere in your code that > use a struct page needs to be converted to a struct folio. Support for > large folios is optional, and I wouldn't bother trying to add that. > Take a look at, eg, nilfs2, ext4, ext2, iomap, NFS, AFS for some > filesystems which have been (at least mostly) converted. > > Any functions in mm/folio-compat.c should no longer be called. > > If we're being really ambitious, filesystems should stop using the > buffer cache and switch to using iomap. There's a lot of work going > on and unmaintained filesystems are holding us back. Thanks. I would have been happy to do that but it seems everyone else prefers to remove it so I have given my ack for that instead... Best regards, Anton -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Anton A. <an...@tu...> - 2024-01-16 09:51:18
|
Hi Matthew, On 15 Jan 2024, at 14:49, Matthew Wilcox <wi...@in...> wrote: On Mon, Jan 15, 2024 at 11:00:35AM +0000, Anton Altaparmakov wrote: Hi Matthew, On 15/01/2024 07:20, Matthew Wilcox (Oracle) wrote: The replacement, NTFS3, was merged over two years ago. It is now time to remove the original from the tree as it is the last user of several APIs, and it is not worth changing. It was my impression that people are complaining ntfs3 is causing a whole lot of problems including corrupting people's data. Also, it appears the maintainer has basically disappeared after it got merged. I'm not terribly happy with how the maintainer behaves either, but you've also been missing in action for nine years (if we're counting code authored by you) or two years (if a R-b is enough). According to your documentation, you don't support creating new files or directories, so I'd suggest that your code has never been put through the xfstests wringer in the way that ntfs3 has. Also, which APIs are you referring to? I can take a look into those. The biggest one for me is the folio work. Everywhere in your code that use a struct page needs to be converted to a struct folio. Support for large folios is optional, and I wouldn't bother trying to add that. Take a look at, eg, nilfs2, ext4, ext2, iomap, NFS, AFS for some filesystems which have been (at least mostly) converted. Any functions in mm/folio-compat.c should no longer be called. If we're being really ambitious, filesystems should stop using the buffer cache and switch to using iomap. There's a lot of work going on and unmaintained filesystems are holding us back. Thanks. I would have been happy to do that but it seems everyone else prefers to remove it so I have given my ack for that instead... Best regards, Anton -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Christian B. <br...@ke...> - 2024-01-16 09:34:24
|
On Mon, 15 Jan 2024 07:20:25 +0000, Matthew Wilcox (Oracle) wrote: > The replacement, NTFS3, was merged over two years ago. It is now time to > remove the original from the tree as it is the last user of several APIs, > and it is not worth changing. > > I see no reason to not at least try and remove it given that we have ntfs3 as a replacement. Worst case is we have to put it back in. Let's try it. --- Applied to the vfs.fs branch of the vfs/vfs.git tree. Patches in the vfs.fs branch should appear in linux-next soon. Please report any outstanding bugs that were missed during review in a new review to the original patch series allowing us to drop it. It's encouraged to provide Acked-bys and Reviewed-bys even though the patch has now been applied. If possible patch trailers will be updated. Note that commit hashes shown below are subject to change due to rebase, trailer updates or similar. If in doubt, please check the listed branch. tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git branch: vfs.fs [1/1] fs: Remove NTFS classic https://git.kernel.org/vfs/vfs/c/9c67092ed339 |
From: Dave C. <da...@fr...> - 2024-01-15 23:12:44
|
On Mon, Jan 15, 2024 at 07:20:25AM +0000, Matthew Wilcox (Oracle) wrote: > The replacement, NTFS3, was merged over two years ago. It is now time to > remove the original from the tree as it is the last user of several APIs, > and it is not worth changing. > > Signed-off-by: Matthew Wilcox (Oracle) <wi...@in...> > Cc: Anton Altaparmakov <an...@tu...> > Cc: Namjae Jeon <lin...@ke...> I agree - this is largely untestable code and given the newer, better featured functionality we have (ntfs3, ntfs3g), we should just get rid of this old code. Acked-by: Dave Chinner <da...@fr...> Cheers, Dave. -- Dave Chinner da...@fr... |
From: Christian H. <chr...@he...> - 2024-01-15 16:21:52
|
Utilize the %pe print specifier in multiple log messages to get the symbolic error name as a string (i.e "-ENOMEM") instead of the error code to increase the log messages readablility. This change was suggested in https://lore.kernel.org/all/929...@su...untain/ Signed-off-by: Christian Heusel <chr...@he...> --- fs/ntfs/dir.c | 12 ++++-------- fs/ntfs/index.c | 6 ++---- fs/ntfs/mft.c | 6 +++--- 3 files changed, 9 insertions(+), 15 deletions(-) diff --git a/fs/ntfs/dir.c b/fs/ntfs/dir.c index 629723a8d712..8df4f233969d 100644 --- a/fs/ntfs/dir.c +++ b/fs/ntfs/dir.c @@ -88,8 +88,7 @@ MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, /* Get hold of the mft record for the directory. */ m = map_mft_record(dir_ni); if (IS_ERR(m)) { - ntfs_error(sb, "map_mft_record() failed with error code %ld.", - -PTR_ERR(m)); + ntfs_error(sb, "map_mft_record() failed with error %pe.", m); return ERR_MREF(PTR_ERR(m)); } ctx = ntfs_attr_get_search_ctx(dir_ni, m); @@ -308,8 +307,7 @@ MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, page = ntfs_map_page(ia_mapping, vcn << dir_ni->itype.index.vcn_size_bits >> PAGE_SHIFT); if (IS_ERR(page)) { - ntfs_error(sb, "Failed to map directory index page, error %ld.", - -PTR_ERR(page)); + ntfs_error(sb, "Failed to map directory index page, error %pe.", page); err = PTR_ERR(page); goto err_out; } @@ -639,8 +637,7 @@ u64 ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, /* Get hold of the mft record for the directory. */ m = map_mft_record(dir_ni); if (IS_ERR(m)) { - ntfs_error(sb, "map_mft_record() failed with error code %ld.", - -PTR_ERR(m)); + ntfs_error(sb, "map_mft_record() failed with error %pe.", m); return ERR_MREF(PTR_ERR(m)); } ctx = ntfs_attr_get_search_ctx(dir_ni, m); @@ -786,8 +783,7 @@ u64 ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, const ntfschar *uname, page = ntfs_map_page(ia_mapping, vcn << dir_ni->itype.index.vcn_size_bits >> PAGE_SHIFT); if (IS_ERR(page)) { - ntfs_error(sb, "Failed to map directory index page, error %ld.", - -PTR_ERR(page)); + ntfs_error(sb, "Failed to map directory index page, error %pe.", page); err = PTR_ERR(page); goto err_out; } diff --git a/fs/ntfs/index.c b/fs/ntfs/index.c index d46c2c03a032..777bbd4548ad 100644 --- a/fs/ntfs/index.c +++ b/fs/ntfs/index.c @@ -137,8 +137,7 @@ int ntfs_index_lookup(const void *key, const int key_len, /* Get hold of the mft record for the index inode. */ m = map_mft_record(base_ni); if (IS_ERR(m)) { - ntfs_error(sb, "map_mft_record() failed with error code %ld.", - -PTR_ERR(m)); + ntfs_error(sb, "map_mft_record() failed with code %pe.", m); return PTR_ERR(m); } actx = ntfs_attr_get_search_ctx(base_ni, m); @@ -264,8 +263,7 @@ int ntfs_index_lookup(const void *key, const int key_len, page = ntfs_map_page(ia_mapping, vcn << idx_ni->itype.index.vcn_size_bits >> PAGE_SHIFT); if (IS_ERR(page)) { - ntfs_error(sb, "Failed to map index page, error %ld.", - -PTR_ERR(page)); + ntfs_error(sb, "Failed to map index page, error %pe.", page); err = PTR_ERR(page); goto err_out; } diff --git a/fs/ntfs/mft.c b/fs/ntfs/mft.c index 6fd1dc4b08c8..fed9abc3ff1f 100644 --- a/fs/ntfs/mft.c +++ b/fs/ntfs/mft.c @@ -159,7 +159,7 @@ MFT_RECORD *map_mft_record(ntfs_inode *ni) mutex_unlock(&ni->mrec_lock); atomic_dec(&ni->count); - ntfs_error(ni->vol->sb, "Failed with error code %lu.", -PTR_ERR(m)); + ntfs_error(ni->vol->sb, "Failed with error %pe.", m); return m; } @@ -285,8 +285,8 @@ MFT_RECORD *map_extent_mft_record(ntfs_inode *base_ni, MFT_REF mref, return ERR_PTR(-EIO); } map_err_out: - ntfs_error(base_ni->vol->sb, "Failed to map extent " - "mft record, error code %ld.", -PTR_ERR(m)); + ntfs_error(base_ni->vol->sb, + "Failed to map extent mft record, error %pe.", m); return m; } /* Record wasn't there. Get a new ntfs inode and initialize it. */ -- 2.43.0 |
From: Matthew W. <wi...@in...> - 2024-01-15 14:49:48
|
On Mon, Jan 15, 2024 at 11:00:35AM +0000, Anton Altaparmakov wrote: > Hi Matthew, > > On 15/01/2024 07:20, Matthew Wilcox (Oracle) wrote: > > The replacement, NTFS3, was merged over two years ago. It is now time to > > remove the original from the tree as it is the last user of several APIs, > > and it is not worth changing. > > It was my impression that people are complaining ntfs3 is causing a whole > lot of problems including corrupting people's data. Also, it appears the > maintainer has basically disappeared after it got merged. I'm not terribly happy with how the maintainer behaves either, but you've also been missing in action for nine years (if we're counting code authored by you) or two years (if a R-b is enough). According to your documentation, you don't support creating new files or directories, so I'd suggest that your code has never been put through the xfstests wringer in the way that ntfs3 has. > Also, which APIs are you referring to? I can take a look into those. The biggest one for me is the folio work. Everywhere in your code that use a struct page needs to be converted to a struct folio. Support for large folios is optional, and I wouldn't bother trying to add that. Take a look at, eg, nilfs2, ext4, ext2, iomap, NFS, AFS for some filesystems which have been (at least mostly) converted. Any functions in mm/folio-compat.c should no longer be called. If we're being really ambitious, filesystems should stop using the buffer cache and switch to using iomap. There's a lot of work going on and unmaintained filesystems are holding us back. |
From: Jan K. <ja...@su...> - 2024-01-15 14:38:39
|
On Mon 15-01-24 01:05:04, syzbot wrote: > syzbot suspects this issue was fixed by commit: > > commit 6f861765464f43a71462d52026fbddfc858239a5 > Author: Jan Kara <ja...@su...> > Date: Wed Nov 1 17:43:10 2023 +0000 > > fs: Block writes to mounted block devices > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=11feec2be80000 > start commit: 831fe284d827 Merge tag 'spi-fix-v6.5-rc1' of git://git.ker.. > git tree: upstream > kernel config: https://syzkaller.appspot.com/x/.config?x=ae56ea581f8fd3f3 > dashboard link: https://syzkaller.appspot.com/bug?extid=84b5465f68c3eb82c161 > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=13a52a24a80000 > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=156f908aa80000 > > If the result looks correct, please mark the issue as fixed by replying with: Looks sensible: #syz fix: fs: Block writes to mounted block devices Honza -- Jan Kara <ja...@su...> SUSE Labs, CR |
From: Anton A. <an...@tu...> - 2024-01-15 13:35:44
|
Hi Matthew, On 15/01/2024 07:20, Matthew Wilcox (Oracle) wrote: > The replacement, NTFS3, was merged over two years ago. It is now time to > remove the original from the tree as it is the last user of several APIs, > and it is not worth changing. It was my impression that people are complaining ntfs3 is causing a whole lot of problems including corrupting people's data. Also, it appears the maintainer has basically disappeared after it got merged. Is it really such a good idea to remove the original ntfs driver which actually works fine and does not cause any problems when the replacement is so poor and unmaintained? Also, which APIs are you referring to? I can take a look into those. Best regards, Anton -- Anton Altaparmakov <anton at tuxera.com> (replace at with @) Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ Linux NTFS maintainer |
From: Namjae J. <lin...@ke...> - 2024-01-15 11:42:00
|
2024-01-15 20:00 GMT+09:00, Anton Altaparmakov <an...@tu...>: > Hi Matthew, > > On 15/01/2024 07:20, Matthew Wilcox (Oracle) wrote: >> The replacement, NTFS3, was merged over two years ago. It is now time to >> remove the original from the tree as it is the last user of several APIs, >> and it is not worth changing. > > It was my impression that people are complaining ntfs3 is causing a > whole lot of problems including corrupting people's data. Also, it > appears the maintainer has basically disappeared after it got merged. What can replace this is not only ntfs3 but also ntfs3g. I think read-only ntfs is obsolete. I am in favor of remove it. Acked-by: Namjae Jeon <lin...@ke...> Thanks. > > Is it really such a good idea to remove the original ntfs driver which > actually works fine and does not cause any problems when the replacement > is so poor and unmaintained? > > Also, which APIs are you referring to? I can take a look into those. > > Best regards, > > Anton > -- > Anton Altaparmakov <anton at tuxera.com> (replace at with @) > Lead in File System Development, Tuxera Inc., http://www.tuxera.com/ > Linux NTFS maintainer > |