Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

udf: provide ->tmpfile()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro 656d09df e6bbef95

+24
+24
fs/udf/namei.c
··· 594 594 return 0; 595 595 } 596 596 597 + static int udf_tmpfile(struct inode *dir, struct dentry *dentry, umode_t mode) 598 + { 599 + struct inode *inode; 600 + struct udf_inode_info *iinfo; 601 + int err; 602 + 603 + inode = udf_new_inode(dir, mode, &err); 604 + if (!inode) 605 + return err; 606 + 607 + iinfo = UDF_I(inode); 608 + if (iinfo->i_alloc_type == ICBTAG_FLAG_AD_IN_ICB) 609 + inode->i_data.a_ops = &udf_adinicb_aops; 610 + else 611 + inode->i_data.a_ops = &udf_aops; 612 + inode->i_op = &udf_file_inode_operations; 613 + inode->i_fop = &udf_file_operations; 614 + mark_inode_dirty(inode); 615 + 616 + d_tmpfile(dentry, inode); 617 + return 0; 618 + } 619 + 597 620 static int udf_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, 598 621 dev_t rdev) 599 622 { ··· 1334 1311 .rmdir = udf_rmdir, 1335 1312 .mknod = udf_mknod, 1336 1313 .rename = udf_rename, 1314 + .tmpfile = udf_tmpfile, 1337 1315 }; 1338 1316 const struct inode_operations udf_symlink_inode_operations = { 1339 1317 .readlink = generic_readlink,