fat: use prandom_u32() for i_generation
authorArnd Bergmann <arnd@arndb.de>
Thu, 24 Oct 2019 13:31:19 +0000 (15:31 +0200)
committerArnd Bergmann <arnd@arndb.de>
Wed, 18 Dec 2019 17:07:31 +0000 (18:07 +0100)
Similar to commit 46c9a946d766 ("shmem: use monotonic time for i_generation")
we should not use the deprecated get_seconds() interface for i_generation.

prandom_u32() is the replacement used in other file systems.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
fs/fat/inode.c

index 5f04c5c..594b05a 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/blkdev.h>
 #include <linux/backing-dev.h>
 #include <asm/unaligned.h>
+#include <linux/random.h>
 #include <linux/iversion.h>
 #include "fat.h"
 
@@ -521,7 +522,7 @@ int fat_fill_inode(struct inode *inode, struct msdos_dir_entry *de)
        inode->i_uid = sbi->options.fs_uid;
        inode->i_gid = sbi->options.fs_gid;
        inode_inc_iversion(inode);
-       inode->i_generation = get_seconds();
+       inode->i_generation = prandom_u32();
 
        if ((de->attr & ATTR_DIR) && !IS_FREE(de->name)) {
                inode->i_generation &= ~1;