diff mbox series

[3/3,v2] reiserfs: remove obsolete print_time function

Message ID 20180620142522.27639-3-arnd@arndb.de
State Accepted
Commit 5b1d149c895b3229d70c0d4c69e14bdbe5fe8226
Headers show
Series [1/3,v2] reiserfs: remove unused j_timestamp | expand

Commit Message

Arnd Bergmann June 20, 2018, 2:25 p.m. UTC
Before linux-2.4.6, print_time() was used to pretty-print an inode
time when running reiserfs in user space, after that it has become
obsolete and is still a bit incorrect: It behaves differently on 32-bit
and 64-bit machines, and uses a static buffer to hold a string, which
could lead to undefined behavior if we ever called this from multiple
places simultaneously.

Since we always want to treat the timestamps as 'unsigned' anyway,
simply printing them as an integer is both simpler and safer while
avoiding the deprecated time_t type.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
v2: after a second look, I decided to remove it instead of fixing it.
---
 fs/reiserfs/item_ops.c | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

-- 
2.9.0

Comments

Jan Kara June 20, 2018, 2:38 p.m. UTC | #1
On Wed 20-06-18 16:25:04, Arnd Bergmann wrote:
> Before linux-2.4.6, print_time() was used to pretty-print an inode

> time when running reiserfs in user space, after that it has become

> obsolete and is still a bit incorrect: It behaves differently on 32-bit

> and 64-bit machines, and uses a static buffer to hold a string, which

> could lead to undefined behavior if we ever called this from multiple

> places simultaneously.

> 

> Since we always want to treat the timestamps as 'unsigned' anyway,

> simply printing them as an integer is both simpler and safer while

> avoiding the deprecated time_t type.

> 

> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

> ---

> v2: after a second look, I decided to remove it instead of fixing it.


Yes, that's a good idea. The patch looks good. You can add:

Reviewed-by: Jan Kara <jack@suse.cz>


								Honza
-- 
Jan Kara <jack@suse.com>
SUSE Labs, CR
diff mbox series

Patch

diff --git a/fs/reiserfs/item_ops.c b/fs/reiserfs/item_ops.c
index e3c558d1b78c..3a5a752d96c7 100644
--- a/fs/reiserfs/item_ops.c
+++ b/fs/reiserfs/item_ops.c
@@ -33,30 +33,22 @@  static int sd_is_left_mergeable(struct reiserfs_key *key, unsigned long bsize)
 	return 0;
 }
 
-static char *print_time(time_t t)
-{
-	static char timebuf[256];
-
-	sprintf(timebuf, "%ld", t);
-	return timebuf;
-}
-
 static void sd_print_item(struct item_head *ih, char *item)
 {
 	printk("\tmode | size | nlinks | first direct | mtime\n");
 	if (stat_data_v1(ih)) {
 		struct stat_data_v1 *sd = (struct stat_data_v1 *)item;
 
-		printk("\t0%-6o | %6u | %2u | %d | %s\n", sd_v1_mode(sd),
+		printk("\t0%-6o | %6u | %2u | %d | %u\n", sd_v1_mode(sd),
 		       sd_v1_size(sd), sd_v1_nlink(sd),
 		       sd_v1_first_direct_byte(sd),
-		       print_time(sd_v1_mtime(sd)));
+		       sd_v1_mtime(sd));
 	} else {
 		struct stat_data *sd = (struct stat_data *)item;
 
-		printk("\t0%-6o | %6llu | %2u | %d | %s\n", sd_v2_mode(sd),
+		printk("\t0%-6o | %6llu | %2u | %d | %u\n", sd_v2_mode(sd),
 		       (unsigned long long)sd_v2_size(sd), sd_v2_nlink(sd),
-		       sd_v2_rdev(sd), print_time(sd_v2_mtime(sd)));
+		       sd_v2_rdev(sd), sd_v2_mtime(sd));
 	}
 }