Skip to contentSkip to conversation

ecryptfs: set s_blocksize from lower fs in sb

PATCH In review Eric Sandeen 2 participants 2 messages Dec 14, 2007 Ecrypt file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ecryptfs: set s_blocksize from lower fs in sb

eCryptfs wasn't setting s_blocksize in it's superblock; just pick it up from the lower FS. Having an s_blocksize of 0 made things like "filefrag" which call FIGETBSZ unhappy.

---

fs/ecryptfs/main.c +1 -0
Index: linux-2.6.24-rc3/fs/ecryptfs/main.c
===================================================================
@@ -523,6 +523,7 @@ static int ecryptfs_read_super(struct su
 	lower_mnt = nd.mnt;
 	ecryptfs_set_superblock_lower(sb, lower_root->d_sb);
 	sb->s_maxbytes = lower_root->d_sb->s_maxbytes;
+	sb->s_blocksize = lower_root->d_sb->s_blocksize;
 	ecryptfs_set_dentry_lower(sb->s_root, lower_root);
 	ecryptfs_set_dentry_lower_mnt(sb->s_root, lower_mnt);
 	rc = ecryptfs_interpose(lower_root, sb->s_root, sb, 0);
Acked-by on v1 1/1
#1 lore raw
Quoted 5 lines · Eric Sandeen

eCryptfs wasn't setting s_blocksize in it's superblock; just pick it up from the lower FS. Having an s_blocksize of 0 made things like "filefrag" which call FIGETBSZ unhappy.

Quoted 16 lines

---

Index: linux-2.6.24-rc3/fs/ecryptfs/main.c
===================================================================

fs/ecryptfs/main.c +1 -0
@@ -523,6 +523,7 @@ static int ecryptfs_read_super(struct su
 	lower_mnt = nd.mnt;
 	ecryptfs_set_superblock_lower(sb, lower_root->d_sb);
 	sb->s_maxbytes = lower_root->d_sb->s_maxbytes;
+	sb->s_blocksize = lower_root->d_sb->s_blocksize;
 	ecryptfs_set_dentry_lower(sb->s_root, lower_root);
 	ecryptfs_set_dentry_lower_mnt(sb->s_root, lower_mnt);
 	rc = ecryptfs_interpose(lower_root, sb->s_root, sb, 0);