mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-04 21:31:51 +00:00
UDF: fix UID and GID mount option ignorance
This patch fix weird behaviour of UDF mounting procedure. To get UID changed (for now) we have to type mount -t udf -o uid=some_user,uid=ignore /dev/device /mnt/moun_point and specifying two uid at once is strange a bit. So with the patch we are able to mount without additional 'uid=ignore' option. The same for GID option is done. This patch will not break current mount scheme (with two option). Btw this does fix (I hope) the following [BUG 6124] mount of UDF fs ignores UID and GID options http://bugzilla.kernel.org/show_bug.cgi?id=6124 Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com> Cc: Jan Kara <jack@ucw.cz> Cc: Michael <auslands-kv@gmx.de> Cc: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
f2912a1223
commit
ca76d2d803
3 changed files with 10 additions and 4 deletions
|
@ -1127,13 +1127,15 @@ static void udf_fill_inode(struct inode *inode, struct buffer_head *bh)
|
|||
}
|
||||
|
||||
inode->i_uid = le32_to_cpu(fe->uid);
|
||||
if (inode->i_uid == -1 || UDF_QUERY_FLAG(inode->i_sb,
|
||||
UDF_FLAG_UID_IGNORE))
|
||||
if (inode->i_uid == -1 ||
|
||||
UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_UID_IGNORE) ||
|
||||
UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_UID_SET))
|
||||
inode->i_uid = UDF_SB(inode->i_sb)->s_uid;
|
||||
|
||||
inode->i_gid = le32_to_cpu(fe->gid);
|
||||
if (inode->i_gid == -1 || UDF_QUERY_FLAG(inode->i_sb,
|
||||
UDF_FLAG_GID_IGNORE))
|
||||
if (inode->i_gid == -1 ||
|
||||
UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_GID_IGNORE) ||
|
||||
UDF_QUERY_FLAG(inode->i_sb, UDF_FLAG_GID_SET))
|
||||
inode->i_gid = UDF_SB(inode->i_sb)->s_gid;
|
||||
|
||||
inode->i_nlink = le16_to_cpu(fe->fileLinkCount);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue